iOS5中的MGTwitterEngine崩溃

iOS5中的MGTwitterEngine崩溃

本文介绍了iOS5中的MGTwitterEngine崩溃的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

虽然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崩溃的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-30 11:11