问题描述
虽然MGTwitterEngine在以前版本的iOS上运行良好,但在我尝试发布twit的时候,EXC_BAD_ACCESS失败了:
While MGTwitterEngine works well on previous versions of iOS, it failed with EXC_BAD_ACCESS at moment when I try to post twit:
[twitter sendUpdate:textToShare];
Objective-C代码执行者的最后一个列表是:
The last list of Objective-C code executer is:
[theRequest prepare];
。这是调用堆栈:
#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 ()
任何想法?解决方法?
你知道另一个适用于iOS 5的Twitter框架吗?我唯一需要做的事情 - 发布twits(当然可能先登录)。
Any ideas? Workaround?Do you know another Twitter framework which works well with iOS 5? The only thing I need to do with it - post twits (with possible login first, of course).
推荐答案
- (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;
}
如上所述修改SA_OAuthTwitterEngine.m函数。
您基本上必须将oAuth网址更新为https。 iOS5中的某些东西阻止它从http
Modify SA_OAuthTwitterEngine.m function as described above.You basically have to update the oAuth urls to https. Something in iOS5 prevents it from redirecting to https from http
这篇关于iOS5中的MGTwitterEngine崩溃的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!