UIWebView 向 Apple 提交 ionic 应用程序时出错

Posted

技术标签:

【中文标题】UIWebView 向 Apple 提交 ionic 应用程序时出错【英文标题】:UIWebView error submiting ionic app to Apple 【发布时间】:2020-10-17 00:08:43 【问题描述】:

我开发了一个适用于 androidios 的 ionic 应用程序。 当我尝试将应用程序提交到 iOS 时,我总是收到同样的错误。

我搜索了整个项目,但找不到任何对 UIWebView 的引用。

我已经按照link 更新了我所有的插件。

我将此代码添加到我的 config.xml:

<preference name="WKWebViewOnly" value="true" />
<feature name="CDVWKWebViewEngine">
    <param name="ios-package" value="CDVWKWebViewEngine" />
</feature>
<preference name="CordovaWebViewEngine" value="CDVWKWebViewEngine" />

我更新了我的 cordova 和我的 ionic 版本: 科尔多瓦版本 - 9.0.0 (cordova-lib@9.0.1) 离子版本 - 6.10.1

我已经尝试了几个教程,例如这些链接上的教程和其他教程:

https://ionicframework.com/blog/understanding-itms-90809-uiwebview-api-deprecation/ https://mobilefirstplatform.ibmcloud.com/blog/2020/01/27/Removal-of-UIWebview/

但是每当我向 Apple 提交申请时,它都会因为这个错误而被拒绝。

如何删除 UIWebView 或让我的应用程序获得批准?

谢谢

更新:

离子:

Ionic CLI:6.10.1 (/usr/local/lib/node_modules/@ionic/cli) 离子框架:@ionic/angular 4.10.2 @angular-devkit/build-angular:0.13.9 @angular-devkit/原理图:7.2.4 @角/cli:7.3.8 @ionic/angular-toolkit:1.4.1

电容器:

电容器 CLI:1.5.2 @capacitor/core:1.0.0-beta.19

科尔多瓦:

Cordova CLI:9.0.0 (cordova-lib@9.0.1) 科尔多瓦平台:ios 5.1.1 Cordova 插件:cordova-plugin-ionic-keyboard 2.2.0、cordova-plugin-ionic-webview 5.0.0(和其他 16 个插件)

实用程序:

cordova-res:未安装 本机运行:1.0.0

系统:

ios-sim : 8.0.2 NodeJS:v12.18.1 (/usr/local/bin/node) npm:6.14.5 操作系统:macOS Catalina Xcode:Xcode 11.5 构建版本 11E608c

使用@Harish 回答更新我的问题

但是我仍然遇到同样的错误

【问题讨论】:

【参考方案1】:

我最近已针对确切问题修复了我的应用程序,以下是我为解决该问题所遵循的步骤:

    确保您的cordova-plugin-ionic-webview 已更新到最新版本5.0.0。您需要运行这两个命令来执行此操作。
ionic cordova plugin remove cordova-plugin-ionic-webview
ionic cordova plugin add cordova-plugin-ionic-webview@latest
    确保您的cordova-ios 更新到最新版本6.0.0。运行此命令进行更新。
npm install cordova-ios@latest --save

    检查您的package.json 以查看cordova-ioscordova-plugin-ionic-webview 的版本是否已更新。

    确保将WKWebViewOnly 首选项添加到config.xml 文件。

<platform name="ios">
    <preference name="WKWebViewOnly" value="true" />
    ...
</platform>
    这是最重要的一步。确保删除 ios 平台并再次添加。运行这些命令来删除和添加 ios 平台。
ionic cordova platform rm ios
ionic cordova platform add ios

现在,当您构建 ios 应用并将其发布到应用商店时,您可以看到问题将得到修复。

【讨论】:

嗨,我在我的问题中添加了一些图片 你能检查一下 ios 文件夹中是否存在相同的版本吗?试着做第五步。它应该可以工作。 执行 5 步后,cordova-ios 会自动降级到 5.1.1 一段时间后,我设法让它工作了。我的问题出在 firebase 模块中。我删除它并执行你的步骤,我工作了 那是哪个模块?可以在这里添加模块的名称吗?【参考方案2】:

    您可能正在使用旧的 ionic 版本。 您在问题中粘贴的版本是 Ionic CLI 的版本。 在您的项目文件夹中运行“ionic info”以查看您使用的 Ionic 框架版本。

    如果您使用的是 ionic 框架 3+ 版本。 然后通过以下方式安装 ionic webview 插件:

    ionic cordova 插件添加 cordova-plugin-ionic-webview --save

【讨论】:

嗨,我已经用“离子信息”的信息更新了我的问题

以上是关于UIWebView 向 Apple 提交 ionic 应用程序时出错的主要内容,如果未能解决你的问题,请参考以下文章

ITMS-90809:不推荐使用的 API 使用 - Apple 将停止接受使用 UIWebView API 的应用程序的提交

Flutter: How to fix ITMS-90809: Deprecated API Usage - Apple 将停止接受使用 UIWebView API 的应用程序提交

通过 iTunes Connect 向 Apple 提交崩溃日志

向 Apple Store 提交 iPhone 应用程序并为其定价

向 Apple App Store 提交 AddHoc iPhone 应用程序二进制文件

iOS - UIWebView 被 WKWebView 取代,但对于 Apple 它仍然存在