2011-12-20 22 views
5

Podczas MGTwitterEngine działa dobrze w poprzednich wersjach systemu iOS, nie udało się EXC_BAD_ACCESS w chwili, gdy próbuję pisać wyśmiać:MGTwitterEngine katastrofy w iOS5

[twitter sendUpdate:textToShare]; 

Ostatnia lista kodów Objective-C Executer jest:

[theRequest prepare]; 

wewnątrz SA_OAuthTwitterEngine.m. To jest stos wywołań:

#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() 

Jakieś pomysły? Obejście? Czy znasz inny framework Twitter, który działa dobrze z iOS 5? Jedyną rzeczą, którą muszę z tym zrobić - postplayów (oczywiście z możliwością zalogowania się).

Odpowiedz

15
- (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; 
} 

Modyfikuj funkcję SA_OAuthTwitterEngine.m jak opisano powyżej. Musisz zasadniczo zaktualizować adresy URL OAuth do https. Coś w iOS5 uniemożliwia przekierowanie do https z http

+2

+1 dzięki człowiekowi pomógł mi – Saawan

1

dodać flagę -all_load w budowie ustawienie

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

-all_load zmusza łącznik załadować wszystkie pliki wynikowe z każdego archiwum widzi, nawet tych bez Kod celu C -force_load jest dostępne w Xcode 3.2 i nowszych wersjach. Umożliwia dokładniejszą kontrolę ziarna podczas ładowania archiwum. Po każdej opcji -force_load musi następować ścieżka do archiwum, a każdy plik obiektu w tym archiwum zostanie załadowany.

Powiązane problemy