UIWebView 向 Apple 提交离子应用程序时出错
UIWebView error submiting ionic app to Apple
我开发了一个适用于 Android 和 iOS 的离子应用程序。
当我尝试向 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 或使我的申请获得批准?
谢谢
更新:
离子:
离子 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/schematics:7.2.4
@angular/cli:7.3.8
@ionic/angular-工具包: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 : 未安装
native-run : 1.0.0
系统:
ios-sim:8.0.2
NodeJS:v12.18.1 (/usr/local/bin/node)
npm:6.14.5
OS : macOS 卡特琳娜
Xcode : Xcode 11.5 构建版本 11E608c
正在使用@Harish 回答更新我的问题
但是我仍然得到同样的错误
您可能使用的是旧的 ionic 版本。
您在问题中粘贴的版本是 Ionic CLI 的版本。
运行 项目文件夹中的“ionic info”以查看您使用的 Ionic 框架版本。
如果您使用的是离子框架 3+ 版本。
然后通过以下方式安装 ionic webview 插件:
ionic cordova 插件添加 cordova-plugin-ionic-webview --save
我最近已针对确切问题修复了我的应用程序,以下是我为修复该问题所遵循的步骤:
- 确保您的
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 应用程序并将其发布到应用程序商店时,您会发现问题已得到解决。
我开发了一个适用于 Android 和 iOS 的离子应用程序。 当我尝试向 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 或使我的申请获得批准?
谢谢
更新:
离子:
离子 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/schematics:7.2.4 @angular/cli:7.3.8 @ionic/angular-工具包: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 : 未安装 native-run : 1.0.0
系统:
ios-sim:8.0.2 NodeJS:v12.18.1 (/usr/local/bin/node) npm:6.14.5 OS : macOS 卡特琳娜 Xcode : Xcode 11.5 构建版本 11E608c
正在使用@Harish 回答更新我的问题
但是我仍然得到同样的错误
您可能使用的是旧的 ionic 版本。 您在问题中粘贴的版本是 Ionic CLI 的版本。 运行 项目文件夹中的“ionic info”以查看您使用的 Ionic 框架版本。
如果您使用的是离子框架 3+ 版本。 然后通过以下方式安装 ionic webview 插件:
ionic cordova 插件添加 cordova-plugin-ionic-webview --save
我最近已针对确切问题修复了我的应用程序,以下是我为修复该问题所遵循的步骤:
- 确保您的
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 应用程序并将其发布到应用程序商店时,您会发现问题已得到解决。