Itms-90809: Deprecated API Usage - Existing App That Use Uiwebview Are No Longer Accepted

ITMS-90809: Deprecated API Usage - existing app that use UIWebView are no longer accepted

Yes, Apple did change the policies
Are you using ionic? if so, install these:

  1. cordova plugin add cordova-plugin-ionic-webview@latest
  2. npm install @ionic-native/ionic-webview

Then add this to your config.xml under ios platform:

<preference name="WKWebViewOnly" value="true" />
<feature name="CDVWKWebViewEngine">`
<param name="ios-package" value="CDVWKWebViewEngine" />
</feature>
<preference name="CordovaWebViewEngine" value="CDVWKWebViewEngine" />

Finally run ionic cordova prepare ios to reflect the changes
then run ionic cordova build ios --prod

PS: Make sure you have only one webview plugin installed.. either this or the 'cordova-webviewengine'. But the above method worked for me and my app is in app store now

Cordova ITMS-90809: Deprecated API Usage - New apps that use UIWebView are no longer accepted

Cordova has already deprecated the WKWebView usage. So in order to fix those and future issues update cordova version to 10 and android/ios projects to newest.

Android 9.1
Ios 6.2

Here is the deprecation message: https://cordova.apache.org/2021/02/07/deprecate-wkwebview-engine.html

ITMS-90809: Deprecated API Usage — Apple will stop accepting submissions of apps that use UIWebView APIs When upload myApp

Apple recently introduced a new App Submission warning ITMS - 90809 stating that we are formally deprecating UIWebView. If your application code or any framework still contains the reference for UIWebView for sure you will be get warned.
 

WKWebView is the replacement for UIWebView and I believe soon Apple will start rejecting the apps who still use UIWebView. So be ready for this.
 

By executing the below terminal command you can easily get to know which library is still using UIWebView reference (don't miss the . (dot)).

$ grep -r "UIWebView" .

Output for framework match

./<ANY>.framework/Headers/ANY.h:#define ANYUseUIWebView ANY_NAME_PASTE(ANY_PREFIX_NAME, ANYUseUIWebView)

 Output for library match

Binary file ./<FRAMEWORK-NAME>.framework/<LIB-FILE>.a matches

If you see some matches it means it time to upgrade these libraries.

I hope it helps. Cheers

EDIT

Update from Apple

The App Store will no longer accept new apps using UIWebView as of 
April 2020 and app updates using UIWebView as of December 2020.

Reference: https://developer.apple.com/news/?id=12232019b



Related Topics



Leave a reply



Submit