Unsolved Error "[App] Twitter Error: Sorry, [App] encountered a problem with Twitter..."


I develop an iOS game called “Outlast” that uses Twitter as a gameplay mechanic. Two players are signed into Twitter simultaneously on the same device, and depending on the outcome of the 2-player game one or both of the players Tweet from the game automatically. From May '12 to October '12 Twitter functionality worked well; in mid-October this error message appeared and has not resolved itself:

“OutLast Twitter Error: Sorry, OutLast encountered a problem with Twitter and was unable to send the victory tweet.”

The error occurred simultaneously across all app versions, and across iOS versions 5.0 through 6.0. The other developer I work with could not find a change or problem with the app code to explain this error (libraries in use are MGTwitterEngine, XAuthTwitterEngine, and OAuthConsumer). After contacting the Twitter help desk it was confirmed that the app was not suspended, so that’s not the problem.

I was aware that Twitter would be changing APIs to v1.1 in March '13, but it seems as though a change has taken place before this time or there was a non-API change made by Twitter that we are unaware of. Is this the case? If so, how can we resolve this error?

One alternative: iOS 6 supports (and may require) device-level Twitter login and logout. But because our game is 2-player, one person is always a guest on a device. Is it even possible in iOS 6/Twitter API v1.1 for an app to fully control a sign-in and sign-out without a user going through iOS “Settings”? Or is a higly-customized web-view the only way around this? (Which may not even work…)

Any help would be greatly appreciated. -TQ


I would verify that the paths your application uses were up to date… some of those libraries you use may have hard-coded pre-versioned API urls such as “http://twitter.com/oauth/request_token” or “http://twitter.com/statuses/user_timeline.json” – the “unversioned” version of the API was retired a number of months ago as “housekeeping.” Some people who thought they were using API v1 were actually using the wrong paths.