ITMS-90809: Deprecated API Usage, capacitor 2.4.7

I had an application developed in ionic 5 with cordoba, and I have decided to recompile it with ionic 6 and capacitor, keeping the dependencies to the plugins that cordoba was using.

In android, perfect, I already have it in production. In IOS also good testing with the XCode simulators, but when I went to upload the app to the store, I received an email from Apple that says:

ITMS-90809: Deprecated API Usage - New apps that use UIWebView are no longer accepted. Instead, use WKWebView for improved security and reliability. Learn more (UIWebView | Apple Developer Documentation).

I thought that I would not have problems of this type when using capacitor.

Here is the information about the versions related to my project:


ionic info

Ionic:

Ionic CLI : 6.13.1 (/usr/local/lib/node_modules/@ionic/cli)
Ionic Framework : @ionic/angular 5.6.3
@angular-devkit/build-angular : 0.1102.5
@angular-devkit/schematics : 11.2.5
@angular/cli : 11.2.5
@ionic/angular-toolkit : 3.1.1

Capacitor:

Capacitor CLI : 2.4.7
@capacitor/core : 2.4.7

Utility:

cordova-res : 0.15.3
native-run : not installed

System:

NodeJS : v14.16.0 (/usr/local/bin/node)
npm : 6.14.11
OS : macOS Big Sur

npx cap doctor
:pill: Capacitor Doctor :pill:

Latest Dependencies:

@capacitor/cli: 2.4.7
@capacitor/core: 2.4.7
@capacitor/android: 2.4.7
@capacitor/electron: 2.4.7
@capacitor/ios: 2.4.7

Installed Dependencies:

@capacitor/android not installed
@capacitor/cli 2.4.7
@capacitor/core 2.4.7
@capacitor/ios 2.4.7
@capacitor/electron not installed

Found 12 Capacitor plugins for ios:
cordova-admob (5.1.0)
cordova-connectivity-monitor (1.2.2)
cordova-libgoogleadmobads (7.13.1)
cordova-play-services-version-adapter (1.1.0)
cordova-plugin-advanced-http (3.1.0)
cordova-plugin-app-version (0.1.12)
cordova-plugin-camera (5.0.1)
cordova-plugin-device (2.0.3)
cordova-plugin-file (6.0.2)
cordova-plugin-inappbrowser (5.0.0)
cordova-plugin-splashscreen (6.0.0)
cordova-plugin-statusbar (2.4.3)
[success] iOS looking great! :ok_hand:


What do I have to do to remove this error from Apple?

Thank you very much in advance.

Juan Carlos.

Figure out which plugin is still using UIWebView and remove.

Hello, I have reviewed your documentation and I have started with inAppBrowser, migrating to Capacitor / Browser and, therefore, I have had to migrate to Capacitor 3. Along the way I have also migrated to Capacitor / SplashScreen.

In Android everything is fine, I have been able to deploy to production, but in IOS several errors related to Browser and SplashScreen appear when building in XCode. I understand that these problems no longer concern this specific post, so I will open one with those specific problems, so you can close this one.

Thank you very much for your interest.

I am facing issue ITMS-90809: Deprecated API Usage - New apps that use UIWebView are no longer accepted. Instead, use WKWebView for improved security and reliability after upload ipa on AppStore.

Following are the plugins details:

cordova-open-native-settings 1.5.5 “Native settings”
cordova-plugin-advanced-http 3.2.2 “Advanced HTTP plugin”
cordova-plugin-androidx-adapter 1.1.3 “cordova-plugin-androidx-adapter”
cordova-plugin-androidx 3.0.0 “cordova-plugin-androidx”
cordova-plugin-app-version 0.1.12 “AppVersion”
cordova-plugin-ble-central 1.4.1 “BLE”
cordova-plugin-camera 6.0.0 “Camera”
cordova-plugin-compat 1.2.0 “Compat”
cordova-plugin-device 2.1.0 “Device”
cordova-plugin-file 6.0.2 “File”
cordova-plugin-geolocation 4.1.0 “Geolocation”
cordova-plugin-inappbrowser 5.0.0 “InAppBrowser”
cordova-plugin-insomnia 4.3.0 “Insomnia (prevent screen sleep)”
cordova-plugin-ionic-keyboard 2.2.0 “cordova-plugin-ionic-keyboard”
cordova-plugin-ionic-webview 5.0.0 “cordova-plugin-ionic-webview”
cordova-plugin-ms-adal 0.10.1 “ADAL for Cordova”
cordova-plugin-nativestorage 2.3.2 “NativeStorage”
cordova-plugin-network-information 2.0.2 “Network Information”
cordova-plugin-screen-orientation 3.0.2 “Screen Orientation”
cordova-plugin-splashscreen 6.0.2 “Splashscreen”
cordova-plugin-statusbar 3.0.0 “StatusBar”
cordova-plugin-whitelist 1.3.5 “Whitelist”
cordova-plugin-wkwebviewxhrfix 0.1.0 “WKWebView XHR Fix”
cordova-sqlite-storage 6.0.0 “Cordova SQLite storage plugin - cordova-sqlite-storage plugin version”
cordova.plugins.diagnostic 6.1.0 “Diagnostic”
es6-promise-plugin 4.1.0 “Promise”
phonegap-plugin-barcodescanner 8.1.0 “BarcodeScanner”
wifiwizard2 3.1.1 “WifiWizard2”

also added following lines in config.xml


** **
** **
** **
** **

Following is the package.json detail

“devDependencies”: {
@angular-devkit/build-angular”: “~0.1000.0”,
@angular/cli”: “~10.0.5”,
@angular/compiler”: “~10.0.0”,
@angular/compiler-cli”: “~10.0.0”,
@angular/language-service”: “~10.0.0”,
@babel/helper-define-map”: “^7.13.12”,
@ionic/angular-toolkit”: “^2.3.0”,
@types/jasmine”: “~3.5.0”,
@types/jasminewd2”: “~2.0.3”,
@types/node”: “^12.11.1”,
“codelyzer”: “^6.0.0”,
“cordova-ios”: “^6.2.0”,
“cordova-open-native-settings”: “^1.5.3”,
“cordova-plugin-advanced-http”: “^3.1.0”,
“cordova-plugin-androidx”: “^3.0.0”,
“cordova-plugin-androidx-adapter”: “^1.1.3”,
“cordova-plugin-app-version”: “^0.1.12”,
“cordova-plugin-ble-central”: “^1.3.1”,
“cordova-plugin-camera”: “^6.0.0”,
“cordova-plugin-compat”: “^1.2.0”,
“cordova-plugin-device”: “^2.1.0”,
“cordova-plugin-file”: “^6.0.2”,
“cordova-plugin-geolocation”: “^4.1.0”,
“cordova-plugin-inappbrowser”: “^5.0.0”,
“cordova-plugin-insomnia”: “^4.3.0”,
“cordova-plugin-ionic-keyboard”: “^2.2.0”,
“cordova-plugin-ionic-webview”: “^5.0.0”,
“cordova-plugin-ms-adal”: “^0.10.2”,
“cordova-plugin-nativestorage”: “^2.3.2”,
“cordova-plugin-network-information”: “^2.0.2”,
“cordova-plugin-screen-orientation”: “^3.0.2”,
“cordova-plugin-splashscreen”: “^6.0.2”,
“cordova-plugin-statusbar”: “^3.0.0”,
“cordova-plugin-whitelist”: “^1.3.5”,
“cordova-plugin-wifiwizard2”: “^3.1.1”,
“cordova-plugin-wkwebviewxhrfix”: “git+https://github.com/TheMattRay/cordova-plugin-wkwebviewxhrfix.git”,
“cordova-sqlite-storage”: “^6.0.0”,
“cordova.plugins.diagnostic”: “^6.0.2”,
“es6-promise-plugin”: “^4.1.0”,
“jasmine-core”: “~3.5.0”,
“jasmine-spec-reporter”: “~5.0.0”,
“jetifier”: “^1.6.6”,
“karma”: “~5.0.0”,
“karma-chrome-launcher”: “~3.1.0”,
“karma-coverage-istanbul-reporter”: “~3.0.2”,
“karma-jasmine”: “~3.3.0”,
“karma-jasmine-html-reporter”: “^1.5.0”,
“phonegap-plugin-barcodescanner”: “^8.1.0”,
“protractor”: “~7.0.0”,
“ts-node”: “~8.3.0”,
“tslint”: “~6.1.0”,
“typescript”: “~3.9.5”
},

Could you help me on this, I have did almost all possible ways from my side.

@netkow