Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

ionic 3 ITMS-90809: Deprecated API Usage - iOS 5.1.1

  1. When I’m uploading a build to AppStoreConnect (to test it via
    TestFlight for example), I’m getting the well-known deprecation
    message:

    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).

What I did: 1) Remove ios platform and added V5.1.0 ios platform.

2) Added below in config.xml

3) Ran ionic cordova build ios

List of cordova plugins I’m using:

cordova-plugin-add-swift-support 2.0.2 "AddSwiftSupport"

cordova-plugin-camera 4.1.0 "Camera"

cordova-plugin-chooser 1.2.6 "Chooser"

cordova-plugin-contacts 3.0.1 "Contacts"

cordova-plugin-device 2.0.2 "Device"

cordova-plugin-file 6.0.2 "File"

cordova-plugin-file-transfer 1.7.1 "File Transfer"

cordova-plugin-filepath 1.5.8 "cordova-plugin-filepath"

cordova-plugin-googleplus 5.2.1 "Google SignIn"   

cordova-plugin-ionic-keyboard 2.2.0 "cordova-plugin-ionic-keyboard" 

cordova-plugin-ionic-webview 4.2.1 "cordova-plugin-ionic-webview"   

cordova-plugin-media-capture 3.0.3 "Capture"   

cordova-plugin-splashscreen 5.0.2 "Splashscreen"   

cordova-plugin-statusbar 2.4.2 "StatusBar" 

cordova-plugin-stripe 1.5.3 "cordova-plugin-stripe" 

cordova-plugin-telerik-imagepicker 2.3.3 "ImagePicker" 

cordova-plugin-video-editor 1.1.3 "VideoEditor" 

cordova-plugin-whitelist 1.3.3 "Whitelist" 

ionic-plugin-deeplinks 1.0.20 "Ionic Deeplink Plugin"

Ionic Info: Ionic: ionic (Ionic CLI) : 4.10.3 (/usr/local/lib/node_modules/ionic) Ionic Framework : enter code here ionic-angular 3.9.9 @ionic/app-scripts : 3.2.4

       Cordova:
      cordova (Cordova CLI) : 8.1.2 ([email protected])    

Cordova

Platforms : ios 5.1.0

Cordova Plugins :
cordova-plugin-ionic-keyboard 2.2.0, cordova-plugin-ionic-webview 4.2.1, (and 17 other plugins)

System: ios-deploy : 1.9.4 ios-sim : 8.0.2

NodeJS : v10.15.1 (/usr/local/bin/node)
npm : 6.4.1

OS : macOS Mojave

Xcode : Xcode 11.3.1 Build version 11C504

Does anybody have an idea what could cause the issue?

Thank you so much in advance!

like image 1000
Bhavesh Avatar asked Jan 30 '26 17:01

Bhavesh


1 Answers

As they said in Understanding ITMS-90809: UIWebView API Deprecation:

  • Add cordova plugin add cordova-plugin-ionic-webview@latest
  • Check all of your plugins. Update used (for example InAppBrowser 3.2.0) or remove unused plugins.

Also, use Cordova iOS 5.1.1

The most notable fix in this patch release was to make the prepare step to wait for the platform add step to finish. This resolved the bug that was seen when setting the WKWebViewOnly flag before adding the platform.

ionic cordova platform remove ios
ionic cordova platform add [email protected]

In config.xml add:

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

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

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

More about this you can find in the article How To Use 'WKWebViewOnly'.

The above example uses the cordova-plugin-wkwebview-engine plugin:

  • Add plugin cordova-plugin-wkwebview-engine, preferably the latest version 1.2.1
  • Add preference attribute CordovaWebViewEngine to the config.xml
  • Add feature attribute CDVWKWebViewEngine to the config.xml
  • Add preference WKWebViewOnly to the config.xml

And last but not least:

 ionic cordova prepare ios

I hope this helps. I've followed these steps and didn't have any problems with an update to the App Store.

like image 50
Tomislav Stankovic Avatar answered Feb 02 '26 08:02

Tomislav Stankovic