升级到 WKWebView 后,Ionic 本机插件停止工作

Ionic native plugins stopped working after upgrading to WKWebView

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

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

我尝试了以下操作:

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

我的应用程序在升级前运行良好。我升级到 WKWebView 因为一项功能在 iOS 上无法使用。自从我这样做后,我的原生插件就停止工作了。有没有什么办法解决这一问题。我有一个 git 存储库,我可以回滚此提交,但我认为问题出在 gitignore.

中的文件

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

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

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

cordova plugin rm cordova-plugin-ionic-webview

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

cordova plugin add cordova-plugin-whitelist

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

上添加 WKWebView