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

Ios ITMS-90809:不推荐的API用法-不再接受使用UIWebView的现有应用程序,ios,uiwebview,app-store,app-store-connect,wkwebview,Ios,Uiwebview,App Store,App Store Connect,Wkwebview,ITMS-90809:不推荐的API使用-苹果将不再接受截至2020年4月30日使用UIWebView的新应用程序以及截至2020年12月使用UIWebView的应用程序更新的提交。相反,使用WKWebView可以提高安全性和可靠性 我正在尝试更新现有应用程序,而不是新应用程序。我仍然无法上传应用程序。我通过电子邮件收到此错误: 苹果是否改变了政策?或者是否需要更改UIWebView?在终端中,在iOS项目文件夹中运行此命令: grep -r "UIWebView" .

ITMS-90809:不推荐的API使用-苹果将不再接受截至2020年4月30日使用UIWebView的新应用程序以及截至2020年12月使用UIWebView的应用程序更新的提交。相反,使用WKWebView可以提高安全性和可靠性

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




苹果是否改变了政策?或者是否需要更改
UIWebView

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

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


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

是的,苹果确实更改了策略 你用的是离子型的吗?如果是,请安装这些:

  • cordova插件添加cordova插件-webview@latest
  • npm安装@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" />
    
    
    `
    
    最后运行ionic cordova prepare ios以反映更改 然后运行ionic cordova build ios--prod


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

    我在爱奥尼亚4遇到了同样的问题

    修复问题所遵循的步骤列表

    请更新您的IOS平台。和应用程序浏览器

    cordova plugin add cordova-plugin-wkwebview-engine
    
    run cordova plugin add cordova-plugin-wkwebview-engine
    
    detele node_modules , then reinstall by run yarn or npm install
    
    run ionic cordova platform rm ios
    
    run ionic cordova platform add ios@5.1.1
    
    npm i cordova-plugin-inappbrowser@3.2.0
    
    cordova plugin add cordova-plugin-inappbrowser@3.2.0
    
    ionic cordova prepare ios.
    
    ionic cordova build ios
    

    几天前,我在爱奥尼亚4项目中遇到了同样的问题。 当我上传我的IPA时,我从App Store Connect收到了这个警告

    我通过以下步骤修复了“UIWebView”问题。希望它也能为你工作

    按照以下步骤操作:

  • 运行以下命令以删除现有平台

    爱奥尼亚cordova平台rm ios

  • 删除现有的web视图插件并安装最新的插件

    爱奥尼亚cordova插件rm cordova插件爱奥尼亚网络视图

    ionic cordova插件添加cordova插件ionic-webview@latest

  • 也安装这个

    npm安装@ionic native/ionic-webview@latest

  • 将其添加到ios部分下的config.xml文件中

  • 检查您的
    “cordova ios”:“^5.1.1”
    版本。它应该是
    5.1.x
    或更大

  • 然后运行此命令再次构建

    爱奥尼亚cordova平台添加ios

    爱奥尼亚科尔多瓦准备ios

    爱奥尼亚cordova构建ios

  • 就这些。这对我有用


    My Package.json文件:

    还共享my config.xml:

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


    谢谢。

    facebook4、googleplus、fcm这些cordova插件的旧版本也使用UIWebView。需要使用最新版本

    我可以通过以下步骤(在react native项目中)摆脱此问题- 步骤1:

    在xcode项目目录中搜索“UIWebView”

    步骤2:

    右键单击(在RCTWebView.m上)并选择“在项目导航器中显示”

    步骤3:

    向下滚动并仅删除以下四个文件:

    然后清理项目并归档


    注意:如果您使用“react native community/react native webview”库,请使用最新版本进行更新,否则将完成更新。

    对于Xamarin表单项目,以下是修复方法:

    转到您的iOS项目,打开项目属性并在附加mtouch参数字段中添加此标志:
    --optimize=experimental xforms product type
    此标志与设置为仅SDK或全部SDK的链接器行为一起工作


    阅读微软的更多信息:

    在我的案例中,我的项目中没有
    UIWebView
    ,但苹果仍然显示了上述错误。然后使用以下步骤查找包含UIWebView的文件

    步骤1.打开终端 第二步。然后按回车键。 第三步。粘贴此命令
    grep-r“UIWebView”。
    然后您将找到文件列表

    就我而言。我从项目中删除了GoogleAddMobsdk,并使用pod再次安装它。

    如果你从未使用过pod,那么在youtube上学习“如何使用pod”

    安装吊舱后。苹果公司接受了我的项目

    嗯。终于解决了。答案解决了我的问题

    cordova prepare ios
    npm install -g cordova-check-plugins
    npm install -g npm
    cordova-check-plugins --update=auto
    npm update -g cordova
    ionic cordova platform rm android
    ionic cordova platform rm ios
    npm i -g @ionic/cli
    cordova plugin remove cordova-plugin-inappbrowser
    cordova plugin add cordova-plugin-inappbrowser@3.2.0
    ionic cordova platform remove ios && ionic cordova platform add ios@latest && ionic cordova build ios
    
    更新您的软件包(例如react native device info)

    它正在工作

     in package.json update device-info to latest
    "react-native-device-info": "^8.0.8",
    
    run this command in terminal
    
    grep -r UIWebView node_modules/*
    
    
    
    ignored for contexts returned by UIWebView. */
    node_modules/react-addons-shallow-compare/node_modules/fbjs/lib/UserAgent.js.flow:   * - UIWebView
    node_modules/react-addons-shallow-compare/node_modules/fbjs/lib/UserAgent.js:   * - UIWebView
    node_modules/recyclerlistview/node_modules/fbjs/lib/UserAgent.js.flow:   * - UIWebView
    node_modules/recyclerlistview/node_modules/fbjs/lib/UserAgent.js:   * - UIWebView
    node_modules/ua-parser-js/test/browser-test.json:        "ua"      : "Mozilla/5.0 (iPhone; CPU iPhone OS 10_0_2 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko) Mobile/14A456 QQ/6.5.3.410 V1_IPH_SQ_6.5.3_1_APP_A Pixel/1080 Core/UIWebView NetType/WIFI Mem/26",
    DT-67iMac-2:IGPSYARD stigasoft$ 
    
    
    yarn upgrade react-addons-shallow-compare recyclerlistview ua-parser-jss
    
    cd ios
    
      rm -rf Pods # probably not needed.  (delete pods and podfile.lock file and again pod install)
    
    pod install
    

    构建了我的项目,测试了一切仍在运行的东西,并提交给了苹果公司。
    这一次没有关于使用贬值API的消息。

    @TylerTheCompiler没有。似乎没有……请先阅读……我知道,UIWebView正在变得贫瘠,但对于新的应用程序来说。对于他们提到的2020年12月截止日期的旧应用程序。但我仍然不想更新我现有的应用程序。你有没有向应用程序商店发布过使用此捆绑包id的此应用程序的版本?是的……我有……我的应用程序现在在应用程序商店上运行……我想更新它。我的现有应用程序也有同样的问题(在应用程序商店上运行了2年以上)。我确实有一个组件仍在使用UIWebView,并且必须将其迁移到WKWebView。奇怪的是,现有的应用在2020年12月之前都不会被拒绝。我也只是在五月初开始随机发生。在五月份工作了几天,所以4月30日的截止日期并没有引起这个问题,这是很奇怪的。别忘了。(要点)在[grep-r“UIWebView”的结尾,就像我做的那样…很好的解决方案。谢谢。你好@user1733372,你能告诉我如何更新播客吗?我对豆荚一无所知,在爱奥尼亚v5上验证过。谢谢@siresha!我不知道你是否能帮上忙,但是
    cordova prepare ios
    npm install -g cordova-check-plugins
    npm install -g npm
    cordova-check-plugins --update=auto
    npm update -g cordova
    ionic cordova platform rm android
    ionic cordova platform rm ios
    npm i -g @ionic/cli
    cordova plugin remove cordova-plugin-inappbrowser
    cordova plugin add cordova-plugin-inappbrowser@3.2.0
    ionic cordova platform remove ios && ionic cordova platform add ios@latest && ionic cordova build ios
    
     in package.json update device-info to latest
    "react-native-device-info": "^8.0.8",
    
    run this command in terminal
    
    grep -r UIWebView node_modules/*
    
    
    
    ignored for contexts returned by UIWebView. */
    node_modules/react-addons-shallow-compare/node_modules/fbjs/lib/UserAgent.js.flow:   * - UIWebView
    node_modules/react-addons-shallow-compare/node_modules/fbjs/lib/UserAgent.js:   * - UIWebView
    node_modules/recyclerlistview/node_modules/fbjs/lib/UserAgent.js.flow:   * - UIWebView
    node_modules/recyclerlistview/node_modules/fbjs/lib/UserAgent.js:   * - UIWebView
    node_modules/ua-parser-js/test/browser-test.json:        "ua"      : "Mozilla/5.0 (iPhone; CPU iPhone OS 10_0_2 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko) Mobile/14A456 QQ/6.5.3.410 V1_IPH_SQ_6.5.3_1_APP_A Pixel/1080 Core/UIWebView NetType/WIFI Mem/26",
    DT-67iMac-2:IGPSYARD stigasoft$ 
    
    
    yarn upgrade react-addons-shallow-compare recyclerlistview ua-parser-jss
    
    cd ios
    
      rm -rf Pods # probably not needed.  (delete pods and podfile.lock file and again pod install)
    
    pod install