1

我正在使用 ShareKit 允许用户在我的 iPhone 应用程序中的 Twitter 和 Facebook 上分享他们的分数。但是,它似乎在共享任一服务后不久就崩溃了。我收到一条控制台消息,上面写着:

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSCFString rangeOfString:options:range:locale:]: nil argument'
*** Call stack at first throw:
(
 0   CoreFoundation                      0x026d6919 __exceptionPreprocess + 185
 1   libobjc.A.dylib                     0x028245de objc_exception_throw + 47
 2   CoreFoundation                      0x0268f078 +[NSException raise:format:arguments:] + 136
 3   CoreFoundation                      0x0268efea +[NSException raise:format:] + 58
 4   Foundation                          0x0008f97b -[NSString rangeOfString:options:range:locale:] + 424
 5   Foundation                          0x0009de16 -[NSString rangeOfString:] + 104
 6   iPhone Typer                        0x00030220 -[SHKOAuthView webView:shouldStartLoadWithRequest:navigationType:] + 151
 7   UIKit                               0x004bb456 -[UIWebView webView:decidePolicyForNavigationAction:request:frame:decisionListener:] + 458
 8   CoreFoundation                      0x0264742d __invoking___ + 29
 9   CoreFoundation                      0x02647301 -[NSInvocation invoke] + 145
 10  WebCore                             0x030940f0 _ZL20HandleDelegateSourcePv + 64
 11  CoreFoundation                      0x026b7d7f __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 15
 12  CoreFoundation                      0x026162cb __CFRunLoopDoSources0 + 571
 13  CoreFoundation                      0x026157c6 __CFRunLoopRun + 470
 14  CoreFoundation                      0x02615280 CFRunLoopRunSpecific + 208
 15  CoreFoundation                      0x026151a1 CFRunLoopRunInMode + 97
 16  GraphicsServices                    0x02e5e2c8 GSEventRunModal + 217
 17  GraphicsServices                    0x02e5e38d GSEventRun + 115
 18  UIKit                               0x00339b58 UIApplicationMain + 1160
 19  iPhone Typer                        0x00002894 main + 102
 20  iPhone Typer                        0x00002825 start + 53
)
terminate called after throwing an instance of 'NSException'

我将如何解决这个问题?谢谢。

4

1 回答 1

3

在 objc_exception_throw 上设置断点,然后构建应用程序进行调试,在断点打开的情况下运行应用程序并再次导致崩溃,然后上堆栈到相关代码。

SHKOAuthView webView:shouldStartLoadWithRequest:navigationType: 里面的东西正在将一个 nil 参数传递给 NSString rangeOfString。当您知道什么是通过 nil 时,问题可能很明显 - 未能使用相关代码和您确定的任何额外信息更新您的问题。

于 2010-08-22T17:38:35.910 回答