【问题标题】:Ionic native plugins stopped working after upgrading to WKWebView升级到 WKWebView 后,离子原生插件停止工作
【发布时间】:2019-02-25 20:54:38
【问题描述】:

我最近将我的应用升级到了 WKWebView,从那时起我的原生插件就停止了工作。具体来说,Camera and Geolocation 插件已停止工作。最糟糕的是,没有抛出任何错误。我尝试了控制台记录每一步,显然,promise geolocation.getCurrentPosition() 永远不会得到解决。

另外,我收到一条警告,指出我的插件处于不一致状态,并且设备就绪未在 5000 毫秒内触发。

我尝试了以下方法:

  1. 使用ionic Cordova plugin rm一一卸载插件,现在设备就绪事件在8秒后触发,但至少触发了。
  2. 在浏览器或 iOS 模拟器中运行应用程序可以正常工作,并且相机和地理位置都可以正常工作。
  3. 尝试创建一个新应用并尝试重现该错误,但它在新应用中有效。
  4. 尝试删除平台 android 并重新添加。

我的应用在升级之前运行良好。我升级到 WKWebView 是因为一项功能在 iOS 上不起作用。自从我这样做后,我的本机插件就停止了工作。有没有什么办法解决这一问题。我有一个 git 存储库,我可以回滚这个提交,但我认为问题在于 gitignore 中的文件。

【问题讨论】:

  • 在移除平台后,您是否也手动移除了plugins 文件夹(与platforms 文件夹位于同一级别)?如果您安装了错误版本的插件,并且在再次添加平台时它仍然存在,那么您最终可能会再次安装相同的版本。
  • @sebaferreras 是的,我确实尝试同时删除平台和插件文件夹。问题依然存在

标签: android ionic-framework ionic3 ionic-native ionic-webview


【解决方案1】:

你安装了这个cordova插件“cordova-plugin-wkwebview-engine”吗?

我们还需要安装“cordova-plugin-wkwebviewxhrfix”来处理xhr请求。

【讨论】:

  • 不,我还没有安装它。我按照官方文档升级到 WKWebView,其中包括以下命令: ionic cordova plugin add cordova-plugin-ionic-webview --save
  • 请试试这个插件,看看它是否解决了问题
  • 我尝试添加你说的插件,但问题仍然存在
【解决方案2】:

我设法通过使用以下命令卸载 cordova-plugin-ionic-webview 来修复它。

cordova plugin rm cordova-plugin-ionic-webview

在那之后我遇到了一些关于 Firebase 身份验证的问题,所以我运行了以下命令:

cordova plugin add cordova-plugin-whitelist

我还不知道是什么导致了这个问题。但显然 WKWebView 不适用于 Android 上的原生插件。现在我需要找到一种解决方法来在 iOS 上添加 WKWebView。

【讨论】:

    猜你喜欢
    • 2017-06-14
    • 2015-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多