ITMS-90809:不推荐使用API-不再接受使用UIWebView的新应用程序。相反,使用WKWebView可提高安全性和可靠性

2022-08-19 00:00:00 ios phonegap-build monaca

我使用了Phonegal Build,但今天我在将.ipa上传到Apple Store时收到此错误

ITMS-90809:不推荐使用API-不再接受使用UIWebView的新应用程序。取而代之的是使用WKWebView来提高安全性和可靠性

然后我删除了config.xml中的所有Cordova插件,但仍收到一些错误。我研究并找到了Monaca。在Monaca配置选项中,我选择了WKWebViewOnly,但仍收到一些错误...这是我的config.xml

 <?xml version="1.0" encoding="UTF-8"?>
<widget xmlns="http://www.w3.org/ns/widgets" id="com.demircode.bileteviniz" version="1.3.1">
  <name>BiletEviniz</name>
  <description>BiletEviniz</description>
  <author/>
  <content src="index.html"/>
  <allow-navigation href="*"/>
  <allow-intent href="itms:*"/>
  <allow-intent href="itms-apps:*"/>
  <preference name="Orientation" value="default"/>
  <preference name="loglevel" value="DEBUG"/>
  <preference name="AndroidLaunchMode" value="singleTop"/>
  <preference name="ErrorUrl" value=""/>
  <preference name="Fullscreen" value="false"/>
  <preference name="KeepRunning" value="true"/>
  <preference name="SplashScreen" value="screen"/>
  <preference name="SplashScreenDelay" value="1000"/>
  <preference name="AllowInlineMediaPlayback" value="false"/>
  <preference name="BackupWebStorage" value="cloud"/>
  <preference name="FadeSplashScreenDuration" value="250"/>
  <preference name="KeyboardDisplayRequiresUserAction" value="true"/>
  <preference name="MediaPlaybackRequiresUserAction" value="false"/>
  <preference name="SuppressesIncrementalRendering" value="false"/>
  <preference name="TopActivityIndicator" value="gray"/>
  <preference name="GapBetweenPages" value="0"/>
  <preference name="PageLength" value="0"/>
  <preference name="PaginationBreakingMode" value="page"/>
  <preference name="PaginationMode" value="unpaginated"/>
  <feature name="LocalStorage">
    <param name="ios-package" value="CDVLocalStorage"/>
  </feature>
  <preference name="UIWebViewDecelerationSpeed" value="normal"/>
  <preference name="monaca:AndroidIsPackageNameSeparate" value="false"/>
  <platform name="ios">
    <preference name="orientation" value="portrait"/>
    <icon src="lobbe.png"/>
    <icon platform="ios" height="76" src="lobbe-76-76.png" width="76"/>
    <icon platform="ios" height="120" src="lobbe-120-120.png" width="120"/>
    <icon platform="ios" height="152" src="lobbe-152-152.png" width="152"/>
    <icon platform="ios" height="1024" src="lobbe-1024-1024.png" width="1024"/>
    <icon platform="ios" height="40" src="lobbe-40-40.png" width="40"/>
    <icon platform="ios" height="167" src="lobbe-167-167.png" width="167"/>
    <splash src="/res/ios/screen/Default@2x~universal~anyany.png"/>
    <preference name="WKWebViewOnly" value="true"/>
    <preference name="CordovaWebViewEngine" value="CDVWKWebViewEngine"/>
    <feature name="CDVWKWebViewEngine">
      <param name="ios-package" value="CDVWKWebViewEngine"/>
    </feature>
    <config-file platform="ios" parent="CFBundleLocalizations" target="*-Info.plist">
      <array>
        <string>tr</string>
        <string>en</string>
      </array>
    </config-file>
  </platform>
  <preference name="WindowsStorePublisherName" value="My Name"/>
  <preference name="WindowsStoreIdentityName" value="3e46a957-1e6e-2eb6-9380-b3b37c4dec02"/>
  <preference name="ios-XCBuildConfiguration-TARGETED_DEVICE_FAMILY" value="1,2"/>
  <preference name="AutoHideSplashScreen" value="true"/>
  <preference name="FadeSplashScreen" value="true"/>
  <preference name="ShowSplashScreenSpinner" value="false"/>
  <access origin="bileteviniz.com"/>
  <preference name="DisallowOverscroll" value="true"/>
  <preference name="EnableViewportScale" value="false"/>
</widget>

这是Package.json

 {
      "name": "monaca-template-minimum",
      "version": "2.0.7",
      "displayName": "Monaca Template Minimum",
      "dependencies": {
        "cordova-custom-config": "5.1.0",
        "cordova-plugin-splashscreen": "5.0.2",
        "cordova-plugin-whitelist": "1.3.3",
        "monaca-plugin-monaca-core": "3.3.0"
      },
      "scripts": {
        "monaca:preview": "npm run dev",
        "dev": "browser-sync start -s www/ --watch --port 8080 --ui-port 8081"
      },
      "cordova": {
        "plugins": {
          "cordova-plugin-whitelist": {},
          "cordova-plugin-splashscreen": {},
          "cordova-custom-config": {},
          "monaca-plugin-monaca-core": {}
        }
      },
      "devDependencies": {
        "browser-sync": "^2.26.7",
        "cordova": "^9.0.0"
      }
    }

解决方案

您的config.xml应该如下所示:

<platform name="ios">
    <preference name="WKWebViewOnly" value="true" />

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

    <preference name="CordovaWebViewEngine" value="CDVWKWebViewEngine" />
</platform>
<plugin name="cordova-plugin-wkwebview-engine"/>
<plugin name="cordova-plugin-inappbrowser"/>

您的另一个插件可能调用了UIWebView。您可能需要尝试将可疑插件排除在外,直到问题消失,然后查看是否有更新版本的插件。

(上面的config.xml代码来自VoltBuilder docs)

相关文章