App Store Connect warning: UIWebView API deprecation

Hi Team
I create ionic app for ios and submitted on Test Flight to test in devices
But i got following mail and warning from Apple.

App Store Connect

Dear Developer,

We identified one or more issues with a recent delivery for your app, “App Name” 0.0.1 (0.0.8). Your delivery was successful, but you may wish to correct the following issues in your next delivery:

ITMS-90809: Deprecated API Usage - Apple will stop accepting submissions of apps that use UIWebView APIs . See https://developer.apple.com/documentation/uikit/uiwebview for more information.

After you’ve corrected the issues, you can use Xcode or Application Loader to upload a new binary to App Store Connect.

Best regards,

The App Store Team

Does any body knows solution.
Next week plan to go live on Apple.

Thanks

4 Likes

Same here.
App created with Ionic 4 Angular 7, so it should definitely use WKWebView instead of UIWebView
Part of XCode console output:

** CDVWKWebViewEngine will reload WKWebView if required on resume
** Using Ionic WKWebView

Part of config.xml

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

When I tried to find UIWebView instances in the code, I found that they are used in at least 4 files generated.
For example:
CDVUserAgentUtil.m
CDVWKWebViewUIDelegate.m
etc…

Ionic version used to build iOS -> 5.2.5
Cordova version -> 9.0.0 (cordova-lib@9.0.1)

Thanks!

Apple just searches for “UIWebView” text on the app code, and cordova-ios have a lot of references, so you’ll get that warning even if using cordova-plugin-ionic-webview.

It’s soon to know if it will affect apps not using UIWebView or if a cordova-ios update will be needed in the future.

1 Like

Did you find solution?

Then what can be possible solutions.

I think this is a major concern for ionic, I have checked in xcode and it is referenced a LOT of times, can someone at ionic confirm what the solution is for this I just received this from apple also:

ITMS-90809: Deprecated API Usage - Apple will stop accepting submissions of apps that use UIWebView APIs . See https://developer.apple.com/documentation/uikit/uiwebview for more information.

1 Like

can update to Webview plugin will be solution?

https://github.com/ionic-team/cordova-plugin-ionic-webview.

Hi @ChrisGriiffith please help or reply on this.

You should absolutely do this! But you will still get this warning since UIWebView is refrenced a few times in cordova-ios platform code.

1 Like

I’m using wkwebview in an ionic 3 application and have updated the inappbrowser plugin to the latest version which also uses wkwebview but looking through xcode for any references i see 187 results in 25 files, so even if you don’t actively use UIWebview you are still affected

2 Likes

Yes
And I don’t think Apple will consider this.

I think someone from Ionic please answer this or provide solution because it may affect apps which are going to live in upcoming days.

Hi folks,

facing the same issue here since today. When deploying app to Testflight it sends out a warning:

ITMS-90809: Deprecated API Usage - Apple will stop accepting submissions of apps that use UIWebView APIs . See https://developer.apple.com/documentation/uikit/uiwebview for more information.

I checked my start log files and it says:
2019-08-29 15:51:20.059055+0200 xxx App[3408:1391780] Apache Cordova native platform version 5.0.1 is starting.
2019-08-29 15:51:20.059802+0200 xxx App[3408:1391780] Multi-tasking -> Device: YES, App: YES
2019-08-29 15:51:20.070316+0200 xxx App[3408:1391780] CDVWKWebViewEngine: trying to inject XHR polyfill
2019-08-29 15:51:21.823243+0200 xxx App[3408:1391780] CDVWKWebViewEngine will reload WKWebView if required on resume
2019-08-29 15:51:21.823373+0200 xxx App[3408:1391780] Using Ionic WKWebView
2019-08-29 15:51:21.824061+0200 xxx App[3408:1391780] [CDVTimer][console] 0.087976ms
2019-08-29 15:51:21.824234+0200 xxx App[3408:1391780] [CDVTimer][handleopenurl] 0.087976ms
2019-08-29 15:51:21.826442+0200 xxx App[3408:1391780] [CDVTimer][intentandnavigationfilter] 2.179027ms
2019-08-29 15:51:21.826538+0200 xxx App[3408:1391780] [CDVTimer][gesturehandler] 0.059009ms
2019-08-29 15:51:21.828039+0200 xxx App[3408:1391780] [CDVTimer][file] 1.457930ms
2019-08-29 15:51:21.828124+0200 xxx App[3408:1391780] [CDVTimer][inappbrowser] 0.054002ms

Same problem after building my app ionic 3/cordova.

Any solution Please??

1 Like

This is just a warning, not an error.

Apple deprecated the UIWebView on iOS 12 and have been warning people that they need to migrate to WKWebView. This is just a new way of warning so people become aware. I suppose they will eventually set a deadline and you’ll have to update cordova-ios and a few plugins that have UIWebView references or move to Capacitor.

Yeah! But Im using WKWebView already; this message indicates that im using UIWebView, which I think is not the case (prolly because a detection algo by apple). And in future updates apps might be declined because of that. So this should be taken as a concern

2 Likes

Agree with you repeated warning leads to App Rejection from Apple.

1 Like

If we ignore it and Apple giving warning again and again then it leads to App Rejection from Apple.

I think this rises in All Hybrid mobile development platforms in last 2-3 days.

Some links
https://github.com/ionic-team/ionic/issues/19229.

Hi @mhartington
Need your help and support on this.

Thanks

Ok So I found following solution
From

GitHub

apache/cordova-plugin-inappbrowser

Apache Cordova Plugin inappbrowser. Contribute to apache/cordova-plugin-inappbrowser development by creating an account on GitHub.

iOS supports these additional options:

  • usewkwebview : set to yes to use WKWebView engine for the InappBrowser. Omit or set to no (default) to use UIWebView. Note: Using usewkwebview=yes requires that a WKWebView engine plugin be installed in the Cordova project (e.g. cordova-plugin-wkwebview-engine or cordova-plugin-ionic-webview). iOS supports these additional options:

From


WKSuspendInBackground

Default value is true (suspend).

Hope this can help. Till time not uploaded new app with these changes on TestFlight.