【问题标题】:Cordova iOS ITMS-90809: Deprecated API Usage - New apps that use UIWebView are no longer acceptedCordova iOS ITMS-90809:不推荐使用的 API - 不再接受使用 UIWebView 的新应用程序
【发布时间】:2020-09-16 03:17:28
【问题描述】:

使用以下内容制作一个简单的应用程序: 这些是我的详细步骤:

cd Desarrollo/Workspace_Xcode/ sudo cordova create MyApp com.mybusiness.app1 ExampleApp cd MyApp sudo cordova 平台添加 ios sudo 科尔多瓦插件添加科尔多瓦插件设备 sudo 科尔多瓦插件添加科尔多瓦插件对话框 sudo cordova plugin add cordova-plugin-inappbrowser sudo cordova 插件添加 cordova-plugin-wkwebview-engine 光盘.. sudo chown -R myuser MyApp

打开 Xcode 工作区,在 config.xml 中添加

添加了 info.plist

然后 sudo 科尔多瓦平台 rm ios sudo cordova 平台添加 iOS

sudo cordova 插件列表 科尔多瓦插件设备 2.0.3 “设备” cordova-plugin-dialogs 2.0.2“通知” cordova-plugin-inappbrowser 3.2.0 “InAppBrowser” 科尔多瓦插件白名单 1.3.4 “白名单” cordova-plugin-wkwebview-engine 1.2.1 “Cordova WKWebView 引擎”

运行应用程序,它显示通常的 apache 设备已准备就绪,上传到 appstore 并验证没问题,我的应用程序被苹果拒绝:

ITMS-90809:不推荐使用的 API - 不再接受使用 UIWebView 的新应用。相反,使用 WKWebView 来提高安全性和可靠性。了解更多(https://developer.apple.com....

我们有 cli 版本 9.0.0 (cordova-lib@9.0.1) 科尔多瓦 5.1.1 Xcode 11.5 iOS 10.15.5(卡特琳娜) xcodebuild -showsdks iOS SDK: iOS 13.5-SDK iphoneos13.5 iOS 模拟器 SDK: 模拟器 - iOS 13.5 -sdk iphonesimulator13.5 macOS SDK: DriverKit 19.0 -sdk driverkit.macosx19.0 macOS 10.15 -sdk macosx10.15 tvOS SDK: tvOS 13.4 -sdk appletvos13.4 tvOS 模拟器 SDK: 模拟器 - tvOS 13.4 -sdk appletvsimulator13.4 watchOS SDK: watchOS 6.2 -sdk watchos6.2 watchOS 模拟器 SDK: 模拟器 - watchOS 6.2 -sdk watchsimulator6.2

【问题讨论】:

  • 在 config.xml 中添加的位置如下:

标签: ios cordova uiwebview wkwebview


【解决方案1】:

我找到的唯一解决方案是从最新的 cordova-iOS 代码中添加插件:

cordova plugin add https://github.com/apache/cordova-plugin-device.git
cordova plugin add https://github.com/apache/cordova-plugin-dialogs.git
cordova plugin add https://github.com/apache/cordova-plugin-inappbrowser.git
cordova platform add https://github.com/apache/cordova-ios.git

这是删除 UIWebView 引用的唯一方法。 不要添加 wkwebengine 插件,因为它不是用新代码编译的。

【讨论】:

  • 会添加ios平台6.1.0 dev
  • 谢谢!这解决了我的问题,现在我可以将应用上传到 App Store。
  • 可以看到你的 package.json 吗?
【解决方案2】:

我在使用 cordova ios@5.1.1 的 Cordova 应用程序上遇到了同样的问题。我能够使用以下步骤进行修复:

将这些插件与您的其他插件一起安装:

  1. “cordova-plugin-inappbrowser”:“^4.0.0”
  2. “cordova-plugin-wkwebview-engine”:“^1.2.1”
  3. cordova 插件添加https://github.com/TheMattRay/cordova-plugin-wkwebviewxhrfix
  4. 删除 cordova iOS 平台
  5. 添加cordova iOS平台5.1.1
  6. 将此代码添加到“platform name="ios"> 标记内的 config.xml 文件中
<preference name="WKWebViewOnly" value="true" />

<feature name="CDVWKWebViewEngine">
    <param name="ios-package" value="CDVWKWebViewEngine" />
</feature>

<preference name="CordovaWebViewEngine" value="CDVWKWebViewEngine" />

它将解决闪屏卡住问题和苹果警告问题。

【讨论】:

  • 执行了这些步骤,但仍然收到苹果警告:(
【解决方案3】:

修复通过 XHR 和 WKWebView for Cordova iOS 6+ 的本地文件访问 伴随着“跨源请求仅支持 HTTP”的错误信息,只能使用。

cordova plugin add https://github.com/AraHovakimyan/cordova-plugin-wkwebviewxhrfix

没有cordova-plugin-wkwebview-engine

并确保从项目的 config.xml 中删除以下首选项

<preference name="scheme" value="app"/>
<preference name="hostname" value="localhost"/>

【讨论】:

    猜你喜欢
    • 2021-08-10
    • 2020-11-19
    • 2020-08-30
    • 1970-01-01
    • 2020-12-12
    • 2020-01-03
    • 2020-01-03
    • 2022-01-14
    相关资源
    最近更新 更多