在ios Facebook SDK 3.0中login的应用程序崩溃

我的应用使用Facebook身份validation。 它工作正常,如果没有Facebook应用程序安装在设备上,也适用于Facebook应用程序的设备,如果用户没有login到Facebook应用程序。 但是,如果用户已经login到Facebook应用程序,我的应用程序显示login页面两三秒钟,并说崩溃

-[SBJsonParser errorTrace]: unrecognized selector sent to instance 0x48ad90 

崩溃日志显示exceptiontypes:EXC_CRASH(SIGTRAP)任何机构请帮忙?

 Stack Trace: ( 0 CoreFoundation 0x37aae8d7 __exceptionPreprocess + 186 1 libobjc.A.dylib 0x315941e5 objc_exception_throw + 32 2 CoreFoundation 0x37ab1acb -[NSObject doesNotRecognizeSelector:] + 174 3 CoreFoundation 0x37ab0945 ___forwarding___ + 300 4 CoreFoundation 0x37a0b680 _CF_forwarding_prep_0 + 48 5 MyFbApp 0x0014bf83 -[SBJSON objectWithString:allowScalar:error:] + 118 6 MyFbApp 0x0014bffb -[SBJSON objectWithString:error:] + 26 7 MyFbApp 0x0015030b -[FBRequestConnection parseJSONOrOtherwise:error:] + 94 8 MyFbApp 0x0014ff19 -[FBRequestConnection parseJSONResponse:error:statusCode:] + 100 9 MyFbApp 0x0014fcbb -[FBRequestConnection completeWithResponse:data:orError:] + 566 10 MyFbApp 0x0014e08f __68-[FBRequestConnection startWithCacheIdentity:skipRoundtripIfCached:]_block_invoke_0 + 174 11 MyFbApp 0x00151acf -[FBURLConnection invokeHandler:error:response:responseData:] + 482 12 MyFbApp 0x0015202b -[FBURLConnection connectionDidFinishLoading:] + 298 13 Foundation 0x31a0ac39 __65-[NSURLConnectionInternal _withConnectionAndDelegate:onlyActive:]_block_invoke_0 + 16 14 Foundation 0x319626e9 -[NSURLConnectionInternalConnection invokeForDelegate:] + 28 15 Foundation 0x319626b3 -[NSURLConnectionInternal _withConnectionAndDelegate:onlyActive:] + 198 16 Foundation 0x319625d5 -[NSURLConnectionInternal _withActiveConnectionAndDelegate:] + 60 17 CFNetwork 0x36f8f8a5 _ZN19URLConnectionClient23_clientDidFinishLoadingEPNS_26ClientConnectionEventQueueE + 192 18 CFNetwork 0x36f84545 _ZN19URLConnectionClient26ClientConnectionEventQueue33processAllEventsAndConsumePayloadEP20XConnectionEventInfoI12XClientEvent18XClientEventParamsEl + 424 19 CFNetwork 0x36f84243 _ZN19URLConnectionClient13processEventsEv + 106 20 CFNetwork 0x36f84179 _ZN17MultiplexerSource7performEv + 156 21 CoreFoundation 0x37a82b03 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 14 22 CoreFoundation 0x37a822cf __CFRunLoopDoSources0 + 214 23 CoreFoundation 0x37a81075 __CFRunLoopRun + 652 24 CoreFoundation 0x37a044dd CFRunLoopRunSpecific + 300 25 CoreFoundation 0x37a043a5 CFRunLoopRunInMode + 104 26 GraphicsServices 0x37582fcd GSEventRunModal + 156 27 UIKit 0x34e94743 UIApplicationMain + 1090 28 MyFbApp 0x0007512d main + 236 29 MyFbApp 0x0007503c start + 40 ) 

最后我通过添加来解决我的问题

 -(id) errorTrace{ return [NSArray arrayWithObjects:@"error1", nil]; } 

在SBJsonParser。 我不知道它是如何工作的。

感谢上帝>>>>>>>>>>

进一步参考http://developers.facebook.com/bugs/202230616574138/

我不熟悉Facebook身份validation,但有两件事情可以在这里发生:

  • 你发送了一个errorTrace:消息到一个被SBJsonParser对象在内存中被取消的释放对象。
  • 或者您向SBJsonParser对象发送了无效的消息

我会build议2件事情:

  1. 添加NSZombieEnabled标志来查看是否通过错误释放了一个对象
  2. 在你使用SBJsonParser的地方发布代码,希望它不是在外部源代码或库中创build的