UIWebView 向 Apple 提交 ionic 应用程序时出错
Posted
技术标签:
【中文标题】UIWebView 向 Apple 提交 ionic 应用程序时出错【英文标题】:UIWebView error submiting ionic app to Apple 【发布时间】:2020-10-17 00:08:43 【问题描述】:我开发了一个适用于 android 和 ios 的 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-ios
和cordova-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 应用程序并为其定价