Cannot upload app on app store due to UIWebView error

I am getting my iOS application rejected by the app store due to the following error -

ITMS-90809: Deprecated API Usage - New apps that use UIWebView are no longer accepted. Instead, use WKWebView for improved security and reliability

I have tried everything mentioned in this post -

Even after searching for ‘UIWebView’ in all files of Xcode, I am not getting any references to ‘UIWebView’. Still my application is getting rejected from the app store. This is really frustrating as we have to release the application on 1st January. Any help is highly appreciated.

Attaching screenshot of XCode Search

1 Like

you are searching in pods.xcodproj - thats not your app i think?

I have already search globally on project root but same I didn’t get that either

list your cordova plugins, if they use the UIWebView inside a framework it won’t appear on the search because you can’t read the framework code

1 Like

I am getting same error while uploading application to AppStore. Following is the detail information which I used in application.

@EinfachHans @netkow Could you please help me out, I am trying to resolve from last 1 month

  1. config.xml
  1. package.json

“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+”,
“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”

  1. Used plugins:

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”

App Store Connect173x45

Dear Developer,

We identified one or more issues with a recent delivery for your app. Please correct the following issues, then upload again.

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

This has been covered extensively in our blog post on UIWebView. If you’ve gone through and verified each plugin mentioned in the blog, then start removing the remaining plugins one by one until you identify the one that contains UIWebView references.

Finally I got the plugIn "cordova-plugin-ms-adal 0.10.1 “ADAL for Cordova” which is used the UIWebView. Thats why Apple rejects the app.

Can you suggest me how to remove or which version or which plugin in need to use now?