2014-12-01 48 views
-1

我有一个iOS/phonegap项目,我继承了需要连接通过websockets。该应用程序似乎大多数时间工作。PhoneGap卡在(webView:identiferForInitialRequest:fromDataSource)kCFRunLoopDefaultMode

有时,连接后,调试控制台中会显示以下消息。

2014-12-01 15:11:23.167 xxx[4156:1044391] void SendDelegateMessage(NSInvocation *): delegate (webView:identifierForInitialRequest:fromDataSource:) failed to return after waiting 10 seconds. main run loop mode: kCFRunLoopDefaultMode 
2014-12-01 15:11:33.169 xxx[4156:1044391] void SendDelegateMessage(NSInvocation *): delegate (webView:identifierForInitialRequest:fromDataSource:) failed to return after waiting 10 seconds. main run loop mode: kCFRunLoopDefaultMode 

此时,整个应用程序冻结。看起来好像主运行循环正在等待来自JS和本地层之间的许多调用之一的响应。它永远不会解决并每10秒打印一次错误。

我认为这可能是一个JS回调中的错误,或无法从PhoneGap调用返回正确结果的问题。问题是在连接上发生了十几个异常的PhoneGap调用。

我真的寻求帮助,以确定是否存在: 1.一些办法,我可以放心地收回的WebView或 2.追查的PhoneGap,它调用实际上是导致该问题

干杯。

回答

0

看起来问题是一个失控的phonegap调用导致本地层的JS解释器花费太长时间。

我最终记录了每一个电话号码的呼叫(约30),并确定失控的呼叫。