CDVUserAgentUtil 的 Cordova InAppBrowser 3.2.0 导入破坏了构建和未声明的标识符“_settings”

yyo*_*ick 5 ios cordova

已弃用的 UIWebView 一直存在问题,cordova ios@6.0.0 应该已修复。

我在更新后遇到了另一个问题,其中在 CDVWKInAppBrowser.m 第 27 行:#import 'Cordova/CDVUserAgentUtil.h' 文件未找到

我查看了 InAppBrowser 的主分支:https://github.com/apache/cordova-plugin-inappbrowser

并注意到本地在某些方面有很大不同吗?首先,我想确定其他人是否也遇到这个问题?

我按照以下标准步骤操作: cordova插件删除cordova-plugin-inappbrowser cordova插件添加cordova-plugin-inappbrowser@3.2.0 cordova准备ios cordova插件ls

目前在ios平台6.0.0 cordova平台-ls



最终,我试图解决此处概述的问题:[iOS] Noknown instance method for selector 'shouldAutorotateToInterfaceOrientation:' #714 https://github.com/apache/cordova-plugin-inappbrowser/issues/714

在尝试解决此问题时,替换为: src/ios/CDVInAppBrowserNavigationController.m src/ios/CDVWKInAppBrowser.m

与: https: //github.com/apache/cordova-plugin-inappbrowser/pull/666/commits/cd69af6d19b78c1176ffeafb4eb83ee0d5fd6f8f

但这反过来会导致:使用未声明的标识符“_settings”cordova。

CDVInAppBrowser 未声明的标识符
_settings 未声明的标识符

小智 11

自2020年6月10日起,cordova-plugin-inappbrowser已升级到版本4.0.0并删除了链接到旧UIWebView的所有代码。

如果您升级到cordova-ios@6.0.0然后执行

cordova plugin remove cordova-plugin-inappbrowser
cordova plugin add cordova-plugin-inappbrowser
Run Code Online (Sandbox Code Playgroud)

您将下载出现错误的版本,4.0.0例如

CDVWKInAppBrowser.m line 27: #import 'Cordova/CDVUserAgentUtil.h' file not found
Run Code Online (Sandbox Code Playgroud)

已解决。

发布公告可以在这里找到: https: //cordova.apache.org/news/2020/06/13/plugins-release.html

以下是要点(摘自公告)

Cordova-iOS 6.x 平台删除了所有 UIWebView 代码,此版本还删除了 InAppBrowser 插件中的 UIWebView 代码 ( https://github.com/apache/cordova-plugin-inappbrowser/pull/635 )

为了向后兼容,该插件用于挂钩 window.open。但是,window.open 的插件安装挂钩可能会产生意想不到的副作用(特别是如果该插件仅作为另一个插件的依赖项包含在内),并且在此版本中已将其删除。(https://github.com/apache/cordova-plugin-inappbrowser/issues/599

InAppBrowser 插件用于实现自己的状态栏。此版本中已将其删除,以正确显示 iOS 状态栏的内容,而不会与不同设备上的 InAppBrowser 中的内容重叠。(https://github.com/apache/cordova-plugin-inappbrowser/pull/656