我在我的 iPhone 应用程序中使用以下 Objective-C 代码:
NSLog(@"Before JS string definition");
NSString* jsString = [NSString stringWithFormat:@"alert('ok');"];
NSLog(@"Before JS call");
@try {
[self.viewController.webView stringByEvaluatingJavaScriptFromString:jsString];
}
@catch (id theException) {
NSLog(@"%@", theException);
}
NSLog(@"JS call string was: %@", jsString);
当我运行它时,我会进入日志:
2012-12-13 16:10:34.743 MyApp.com[2328:907] Before JS string definition
2012-12-13 16:10:34.744 MyApp.com[2328:907] Before JS call
因此,最后一次 NSLog 调用不会被执行。显然,对stringByEvaluatingJavaScriptFromString的调用以某种方式挂在那里。日志中没有错误消息。没有例外。没有。
这是怎么回事?我该如何调试呢?