ITMS-90809:不推荐使用的 API 使用 - 不再接受使用 UIWebView 的现有应用程序

Rag*_*nde 33 uiwebview app-store ios wkwebview app-store-connect

ITMS-90809:已弃用的 API 使用 - 自 2020 年 4 月 30 日起,Apple 将不再接受使用 UIWebView 的新应用程序的提交以及自 2020 年 12 月起使用 UIWebView 的应用程序更新。而是使用 WKWebView 来提高安全性和可靠性。

我正在尝试更新现有应用程序,而不是新应用程序。我仍然无法上传应用程序。我通过电子邮件收到此错误:


We identified one or more issues with a recent delivery for your app, "App Name" 20202.421.1 (6). Please correct the following issues, then upload again.
ITMS-90809: Deprecated API Usage - New apps that use UIWebView are no longer accepted. Instead, use WKWebView for improved security and reliability. Learn more (https://developer.apple.com/documentation/uikit/uiwebview).
Run Code Online (Sandbox Code Playgroud)

苹果是否改变了它的政策?还是我需要改变UIWebView

小智 30

是的,Apple 确实更改了政策您使用的是 ionic 吗?如果是这样,请安装这些:

  1. cordova plugin add cordova-plugin-ionic-webview@latest
  2. npm install @ionic-native/ionic-webview

然后将其添加到你的ios 平台下的config.xml 中

<preference name="WKWebViewOnly" value="true" />
<feature name="CDVWKWebViewEngine">`
<param name="ios-package" value="CDVWKWebViewEngine" />
</feature>
<preference name="CordovaWebViewEngine" value="CDVWKWebViewEngine" />
Run Code Online (Sandbox Code Playgroud)

最后运行ionic cordova prepare ios以反映更改然后运行ionic cordova build ios --prod

PS:确保你只安装了一个 webview 插件.. 要么是这个,要么是“cordova-webviewengine”。但上述方法对我有用,我的应用程序现在在应用程序商店中


小智 22

在终端中,在您的 iOS 项目文件夹中运行此命令:

grep -r "UIWebView" .
Run Code Online (Sandbox Code Playgroud)

它将显示所有使用 UIWebview 的文件。更新任何文件以使用 WKWebView。如果您的 pod 库显示它具有 UIWebView。同时更新 pods 文件。

仅供参考,我花了 6 个小时来修复我的项目以使用 WKWebView,因为我必须更新 pods 文件并且必须修复大量代码。

  • 不要忘记 . (点)在 [grep -r "UIWebView" .] 的末尾,就像我所做的那样...... (8认同)

Sus*_*hil 10

几天前,我的 IONIC 4 项目也遇到了同样的问题。当我上传 IPA 时,我从 App Store Connect 收到此警告。

在此处输入图片说明

我通过以下步骤修复了“UIWebView”问题。希望它也适合你。

请按照以下步骤操作:

  1. 运行以下命令删除现有平台。

    ionic cordova platform rm ios

  2. 删除现有的 Web 视图插件并安装最新的插件。

    ionic cordova plugin rm cordova-plugin-ionic-webview

    ionic cordova plugin add cordova-plugin-ionic-webview@latest

  3. 也安装这个。

    npm install @ionic-native/ionic-webview@latest

  4. 将此添加到 ios 部分下的 config.xml 文件中。

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

  5. 检查您的"cordova-ios": "^5.1.1"版本。它应该是5.1.x或更大。

  6. 然后运行此命令再次构建。

    ionic cordova platform add ios

    ionic cordova prepare ios

    ionic cordova build ios

就这样。它对我有用。


我的 Package.json 文件:

在此处输入图片说明

在此处输入图片说明

也分享我的 config.xml :

在此处输入图片说明

点击此链接了解更多信息:

https://ionicframework.com/blog/understanding-itms-90809-uiwebview-api-deprecation/

谢谢。