加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Cordova插件仅在第二次使用THREAD WARNING打开时在iOS中工作.你

发布时间:2020-12-15 01:49:43 所属栏目:百科 来源:网络整理
导读:我的iOS应用程序中的Cordova插件仅在您打开应用程序后工作,通过返回主屏幕关闭它,然后重新打开应用程序.然后在XCode日志中显示THREAD WARNING. 2014-05-14 14:00:38.062 TLEMobile[28819:60b] THREAD WARNING: ['InAppBrowser'] took '192.306885' ms. Plugi
我的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或有效载荷;
> iframe hash with或w / o payload;
> iframe nav.

在cordova.js中,您可以找到iOSExec函数.对于iOS(iOS 5除外),桥接模式设置为IFRAME_NAV.

以前的开发人员在项目设计阶段犯了几个错误 – 其中一个是在视图更改时删除了整个内容.还有科尔多瓦.因此cordova会出现一些错误循环并且插件无效.

解决方案是强制XHR桥接模式.我已经在我的deviceready回调中插入了下一个代码:

cordova.exec.setJsToNativeBridgeMode(cordova.exec.jsToNativeModes.XHR_NO_PAYLOAD);

我希望这能帮到您.祝你好运.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读