Cordova插件仅在第二次使用THREAD WARNING打开时在iOS中工作.你
我的iOS应用程序中的Cordova插件仅在您打开应用程序后工作,通过返回主屏幕关闭它,然后重新打开应用程序.然后在XCode日志中显示THREAD WARNING.
2014-05-14 14:00:38.062 TLEMobile[28819:60b] THREAD WARNING: ['InAppBrowser'] took '192.306885' ms. Plugin should use a background thread. 2014-05-14 14:01:18.919 TLEMobile[28819:60b] THREAD WARNING: ['Notification'] took '39.698975' ms. Plugin should use a background thread. 是什么造成的?如果我真的需要将所有插件设置为后台线程,您如何设置? 我已将此param添加到我的config.xml for ios以强制插件加载打开但这似乎不起作用. <param name="onload" value="true" /> 我根本就没有得到它.我已经尝试重新安装整个平台.单独删除所有插件并将它们放回去,我仍然遇到同样的问题.插件只有在应用程序背景化然后重新启动时才能工作.以下是我启动应用程序时最近构建到ios的代码.似乎插件在启动时加载,但随后无法访问. 2014-05-22 15:39:40.817 TLEMobile[5199:60b] Multi-tasking -> Device: YES,App: YES 2014-05-22 15:39:40.875 TLEMobile[5199:60b] Unlimited access to network resources 2014-05-22 15:39:41.131 TLEMobile[5199:60b] [CDVTimer][device] 0.559986ms 2014-05-22 15:39:41.136 TLEMobile[5199:60b] [CDVTimer][notification] 0.389040ms 2014-05-22 15:39:41.143 TLEMobile[5199:60b] [CDVTimer][inappbrowser] 3.835022ms 2014-05-22 15:39:41.149 TLEMobile[5199:60b] [CDVTimer][socialsharing] 1.318038ms 2014-05-22 15:39:41.153 TLEMobile[5199:60b] [CDVTimer][TotalPluginStartup] 23.202002ms 2014-05-22 15:39:41.659 TLEMobile[5199:60b] Resetting plugins due to page load. 2014-05-22 15:39:41.664 TLEMobile[5199:60b] IAB.close() called but it was already closed. 2014-05-22 15:39:45.843 TLEMobile[5199:60b] Finished load of: file:///var/mobile/Applications/220DD603-0644-4290-AE21-F9B6041D8408/TLEMobile.app/www/index.html#/tab/home 2014-05-22 15:39:54.914 TLEMobile[5199:60b] THREAD WARNING: ['Device'] took '14.032959' ms. Plugin should use a background thread. 2014-05-22 15:39:55.033 TLEMobile[5199:60b] THREAD WARNING: ['Notification'] took '100.118896' ms. Plugin should use a background thread. 2014-05-22 15:40:00.716 TLEMobile[5199:60b] THREAD WARNING: ['Notification'] took '5541.863037' ms. Plugin should use a background thread. 解决方法
我有同样的问题.今天我找到了解决方案.
问题出在js2native桥上. Cordova有不同的方法与本机库(桥接模式)通信: > XHR带,无w或o或有效载荷; 在cordova.js中,您可以找到iOSExec函数.对于iOS(iOS 5除外),桥接模式设置为IFRAME_NAV. 以前的开发人员在项目设计阶段犯了几个错误 – 其中一个是在视图更改时删除了整个内容.还有科尔多瓦.因此cordova会出现一些错误循环并且插件无效. 解决方案是强制XHR桥接模式.我已经在我的deviceready回调中插入了下一个代码: cordova.exec.setJsToNativeBridgeMode(cordova.exec.jsToNativeModes.XHR_NO_PAYLOAD); 我希望这能帮到您.祝你好运. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |