【问题标题】:Any solution for App Store Connect ITMS-90809: Deprecated API Usage? I tried my bestApp Store Connect ITMS-90809:已弃用 API 使用的任何解决方案?我已经尽力了
【发布时间】:2021-03-10 14:54:18
【问题描述】:

即使更新插件并从臭名昭著的 UIWebView 中搜索引用,我仍然会收到错误消息。

配置:

  • 离子 3
  • 角 5
  • 离子角 3.9.2
  • 全球 Cordova 10.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" />

Package.json 带有:

 "dependencies": {
    "@angular/animations": "^5.2.5",
    "@angular/cdk": "^5.2.5",
    "@angular/common": "5.2.11",
    "@angular/compiler": "5.2.11",
    "@angular/compiler-cli": "5.2.11",
    "@angular/core": "5.2.11",
    "@angular/forms": "5.2.11",
    "@angular/http": "5.2.11",
    "@angular/material": "^5.2.5",
    "@angular/platform-browser": "5.2.11",
    "@angular/platform-browser-dynamic": "5.2.11",
    "@angular/platform-server": "5.2.11",
    "@fnando/cnpj": "^0.1.1",
    "@fnando/cpf": "^0.1.1",
    "@ionic-native/app-version": "^4.20.0",
    "@ionic-native/camera": "^4.20.0",
    "@ionic-native/clipboard": "^4.18.0",
    "@ionic-native/core": "^4.18.0",
    "@ionic-native/email-composer": "^5.3.0",
    "@ionic-native/file": "^4.20.0",
    "@ionic-native/file-opener": "^4.20.0",
    "@ionic-native/file-transfer": "^4.18.0",
    "@ionic-native/firebase-analytics": "^4.20.0",
    "@ionic-native/http": "^4.20.0",
    "@ionic-native/in-app-browser": "^4.20.0",
    "@ionic-native/network": "^4.18.0",
    "@ionic-native/onesignal": "^4.18.0",
    "@ionic-native/safari-view-controller": "^4.20.0",
    "@ionic-native/screen-orientation": "^4.18.0",
    "@ionic-native/social-sharing": "^4.20.0",
    "@ionic-native/splash-screen": "^4.2.1",
    "@ionic-native/sqlite": "^4.18.0",
    "@ionic-native/status-bar": "^4.2.1",
    "@ionic-native/toast": "^4.18.0",
    "@ionic-native/youtube-video-player": "^4.20.0",
    "@ionic/cloud-angular": "^0.12.0",
    "@ionic/lab": "^2.0.6",
    "@ionic/storage": "2.2.0",
    "@types/underscore": "^1.8.11",
    "android-versions": "^1.2.1",
    "angular2-moment": "^1.9.0",
    "angularfire2": "^2.0.0-beta.8",
    "brmasker-ionic-3": "^1.6.3",
    "chart.js": "^2.7.3",
    "chartjs-plugin-annotation": "^0.5.7",
    "clipboard": "^2.0.4",
    "cordova-browser": "^4.1.0",
    "cordova-clipboard": "1.2.1",
    "cordova-plugin-advanced-http": "^2.4.1",
    "cordova-plugin-androidx": "^1.0.2",
    "cordova-plugin-androidx-adapter": "^1.1.0",
    "cordova-plugin-app-version": "0.1.9",
    "cordova-plugin-compat": "^1.2.0",
    "cordova-plugin-document-viewer": "~0.9.10",
    "cordova-plugin-email-composer": "0.9.2",
    "cordova-plugin-file": "6.0.1",
    "cordova-plugin-file-opener2": "~2.2.0",
    "cordova-plugin-file-transfer": "1.7.1",
    "cordova-plugin-filepath": "1.5.1",
    "cordova-plugin-firebase-analytics": "^4.0.0",
    "cordova-plugin-ios-camera-permissions": "1.2.0",
    "cordova-plugin-network-information": "2.0.1",
    "cordova-plugin-screen-orientation": "3.0.1",
    "cordova-plugin-x-toast": "2.7.2",
    "cordova-sqlite-storage": "^3.3.0",
    "cordova-support-android-plugin": "^1.0.1",
    "cordova-support-google-services": "^1.3.2",
    "countup.js-angular2": "^6.0.2",
    "d3": "^5.7.0",
    "es6-promise-plugin": "^4.2.2",
    "firebase": "^3.9.0",
    "highcharts": "^6.1.0",
    "highcharts-rounded-corners": "github:highcharts/rounded-corners#master",
    "html2canvas": "^1.0.0-alpha.12",
    "intersection-observer": "^0.5.0",
    "ionic-angular": "3.9.2",
    "ionicons": "3.0.0",
    "moment": "^2.18.1",
    "mydatepicker": "^2.6.3",
    "ng2-cache-service": "^1.1.1",
    "ng2-charts": "^1.6.0",
    "ng2-validation": "^4.2.0",
    "ngx-d3-liquid-fill-gauge": "^1.0.8",
    "ngx-liquid-gauge": "^2.0.3",
    "ngx-skeleton-loader": "^1.2.2",
    "node-sass": "^4.12.0",
    "onesignal-cordova-plugin": "2.4.6",
    "pdfmake": "^0.1.62",
    "reflect-metadata": "^0.1.12",
    "rxjs": "^5.5.11",
    "slick-carousel": "^1.8.1",
    "sw-toolbox": "3.4.0",
    "sweetalert2": "^7.33.1",
    "typewriterjs": "^1.0.0",
    "underscore": "^1.9.1",
    "uuid": "^3.2.1",
    "zone.js": "^0.8.4"
  },
  "devDependencies": {
    "@ionic/app-scripts": "^3.2.4",
    "@types/jest": "^23.3.13",
    "bluebird": "^3.7.2",
    "chalk": "^4.0.0",
    "cordova-android": "^9.0.0",
    "cordova-ios": "^6.1.1",
    "cordova-plugin-camera": "^5.0.1",
    "cordova-plugin-device": "^2.0.2",
    "cordova-plugin-inappbrowser": "^4.1.0",
    "cordova-plugin-ionic-keyboard": "^2.2.0",
    "cordova-plugin-ionic-webview": "^5.0.0",
    "cordova-plugin-safariviewcontroller": "^1.6.0",
    "cordova-plugin-splashscreen": "^5.0.2",
    "cordova-plugin-statusbar": "^2.4.2",
    "cordova-plugin-whitelist": "^1.3.3",
    "cordova-plugin-x-socialsharing": "^6.0.2",
    "cordova-plugin-youtube-video-player": "^2.4.0",
    "jest": "^24.0.0",
    "jest-preset-angular": "^6.0.2",
    "karma-cli": "^2.0.0",
    "node-fetch": "^2.6.0",
    "query-string": "^6.12.1",
    "tslint-config-airbnb": "^5.11.1",
    "typescript": "~3.5.3"
  }

我已经更新了关键插件,修改了 config.xml,甚至尝试了一些修改过的插件,但一无所获。关键是他们发出了错误,但甚至没有给出可能导致错误的提示,这非常令人困惑。我已经进行了多次搜索并尝试了几种可能的解决方案,但没有任何结果......我已经使用相同的关键插件(cordova-plugin-inappbrowser、cordova-plugin-whitelist、cordova-plugin-x-social -sharing、cordova-plugin-camera、cordova-plugin-safariviewcontroller、cordova-plugin-youtube-video-player)并通过了!我的应用程序很难找到要纠正的点。

谁能帮帮我?

【问题讨论】:

    标签: ios xcode cordova ionic3 cordova-plugins


    【解决方案1】:

    在 Apache 控制的存储库中,您需要使用:

    • cordova-ios@5.1.1 WITH &lt;preference name="WKWebViewOnly" value="true" /&gt; 配置和 wkwebview 插件。
    • cordova-ios@6 物理删除了所有 UIWebView 引用,有效地强制 WKWebViewOnly 为真。

    如果您使用cordova-plugin-inappbrowser,您还需要将其更新到最新的可用版本。

    如果您仍然收到 Apple 的弃用错误,这意味着您有一个引用 UIWebView 的第三方插件。这可能在插件源中(通过项目范围的搜索很容易找到),或者插件可能依赖于预编译的第三方库(通过文本搜索更难找到)。

    根据我帮助其他人解决同样问题的经验,常见的罪魁祸首是:

    • google maps 插件(我知道他们已经打了这个补丁,所以请使用最新版本)
    • Google FCM 插件(不确定是否已修补)
    • 几乎所有社交媒体插件

    在您的具体情况下,cordova-plugin-x-socialsharing 是罪魁祸首(至少一个罪魁祸首,您有很多插件,我没有全部检查)。它已经多年没有更新了,在他们的 master 分支中,它仍然包含一个 UIWebView 引用 here

    【讨论】:

    • 感谢 Norman,我已经完成了所有提到的步骤,实际上有问题的插件是 onesignal-cordova-plugin,更新这个特定的插件最终解决了问题,因为所有其他插件仍在使用或引用的 uiwebview 已经更新。
    猜你喜欢
    • 2021-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-23
    • 1970-01-01
    • 2020-12-28
    • 1970-01-01
    相关资源
    最近更新 更多