MGTwitterEngine Error in iOS5

Although MGTwitterEngine works well in previous versions of iOS, it failed with EXC_BAD_ACCESS the moment I try to send a twit message:

[twitter sendUpdate:textToShare]; 

The latest list of Objective-C code executer:

 [theRequest prepare]; 

inside SA_OAuthTwitterEngine.m. This is the call stack:

 #1 0x00045a63 in -[OAMutableURLRequest URLEncodedString:] at /Users/ben/Dropbox/Dev/External Projects/Twitter-OAuth-iPhone/OAuthConsumeriPhoneLib/OAuthConsumerSrc/OAMutableURLRequest.m:287 #2 0x000445fa in -[OAMutableURLRequest prepare] at /Users/ben/Dropbox/Dev/External Projects/Twitter-OAuth-iPhone/OAuthConsumeriPhoneLib/OAuthConsumerSrc/OAMutableURLRequest.m:131 #3 0x00041778 in -[SA_OAuthTwitterEngine _sendRequestWithMethod:path:queryParameters:body:requestType:responseType:] at /Developer/WorkShop/XDictionary/trunk/Dictionary/Twitter+OAuth/SAOAuthTwitterEngine/SA_OAuthTwitterEngine.m:325 #4 0x000356b1 in -[MGTwitterEngine sendUpdate:inReplyTo:] at /Developer/WorkShop/XDictionary/trunk/Dictionary/Twitter+OAuth/MGTwitterEngine/MGTwitterEngine.m:1037 #5 0x0003546c in -[MGTwitterEngine sendUpdate:] () #6 0x00023ae7 in -[SocialNetworking twitterShare] () #7 0x00023c2b in -[SocialNetworking OAuthTwitterController:authenticatedWithUsername:] () #8 0x0003d0d5 in -[SA_OAuthTwitterController gotPin:] () #9 0x0003eabb in -[SA_OAuthTwitterController webViewDidFinishLoad:] () #10 0x0051736a in -[UIWebView webView:didFinishLoadForFrame:] () #11 0x00518956 in -[UIWebViewWebViewDelegate webView:didFinishLoadForFrame:] () #12 0x01ced51d in __invoking___ () #13 0x01ced437 in -[NSInvocation invoke] () #14 0x01d1849a in -[NSInvocation invokeWithTarget:] () #15 0x04f09aff in -[_WebSafeForwarder forwardInvocation:] () #16 0x01cee0c9 in ___forwarding___ () #17 0x01cedce2 in __forwarding_prep_0___ () #18 0x01ced51d in __invoking___ () #19 0x01ced437 in -[NSInvocation invoke] () #20 0x05aa9ae3 in SendMessage(NSInvocation*) () #21 0x05aaa115 in HandleDelegateSource(void*) () #22 0x01d5b97f in __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ () #23 0x01cbeb73 in __CFRunLoopDoSources0 () #24 0x01cbe454 in __CFRunLoopRun () #25 0x01cbddb4 in CFRunLoopRunSpecific () #26 0x01cbdccb in CFRunLoopRunInMode () #27 0x02ee1879 in GSEventRunModal () #28 0x02ee193e in GSEventRun () #29 0x00360a9b in UIApplicationMain () #30 0x00001d3a in main () 

Any ideas? Workaround Do you know another Twitter infrastructure that works well with iOS 5? The only thing I need to do with this is post twits (with login first, of course).

+5
source share
3 answers
 - (SA_OAuthTwitterEngine *) initOAuthWithDelegate: (NSObject *) delegate { if (self = (id) [super initWithDelegate: delegate]) { self.requestTokenURL = [NSURL URLWithString: @"https://twitter.com/oauth/request_token"]; self.accessTokenURL = [NSURL URLWithString: @"https://twitter.com/oauth/access_token"]; self.authorizeURL = [NSURL URLWithString: @"https://twitter.com/oauth/authorize"]; } return self; } 

Modify the SA_OAuthTwitterEngine.m function as described above. You basically have to update oAuth URLs to https. Something in iOS5 doesn't allow redirecting https from http

+15
source

You can try applying the changes from this commit https://github.com/Hoya/Twitter-OAuth-iPhone/commit/8b3bb836f71b8fd49e41c3f0a66bfb81bec72634 . As I understand it, this is exactly what you need.

+3
source

add -all_load flag in build setup

https://developer.apple.com/library/mac/#qa/qa2006/qa1490.html

-all_load forces the linker to load all object files from each archive being viewed, even without Objective-C code. -force_load is available in Xcode 3.2 and later. This allows you to control the granularity of the granary. Each option -force_load must be followed by the path to the archive, and each object file in this archive will be loaded.

+1
source

All Articles