Discontinuation of UIWebView and its implication on MobileFirst apps

UIWebView has been deprecated by Apple since June 2018. However, this recent announcement by Apple brings an end to the use of UIWebView in all iOS apps.

If your app still embeds web content using the deprecated UIWebView API, we strongly encourage you to update to WKWebView, as soon as possible, for improved security and reliability. WKWebView ensures that compromised web content doesn’t affect the rest of an app by limiting web processing to the app’s web view. It is supported in iOS and macOS, and by Mac Catalyst. The App Store will no longer accept new apps using UIWebView as of April 2020 and app updates using UIWebView as of December 2020.

Since iOS 12, Apple began warning developers about migrating to WKWebView, UIWebView’s successor. Since last year, the warning ITMS-90809: UIWebView API Deprecation was seen during app submission, if the app used UIWebview.

The message you see while you upload app using UIWebview is as below.

We identified one or more issues with a recent delivery for your app, [App Name & version number]. 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.

Upon app submission, Apple searches the app’s code for the “UIWebView” string then generates a submission warning if found. Therefore, a future release of MobileFirst based apps will be required to ensure that all references to UIWebView APIs are removed.

What should you do

We recommend all developers to update their apps. Apple will only accept submissions of iOS apps that contain references to UIWebView until April 2020 (for new apps) and December 2020 (for existing apps). To meet the new requirement, please upgrade your MobileFirst SDK to iFix

If you wish to update from cocopod, please add pod 'IBMMobileFirstPlatformFoundation' '~>8.0.2020011414' to your Podfile.

If you’re using Cordova, see below.

Enabling WkWebview for Cordova/Ionic apps

The Cordova community has released Cordova iOS 5.1.0, which disables UIWebview at compile time. In order to disable UIWebview with MFP cordova app, use following steps.

  1. Upgrade cordova-plugin-mfp to version 8.0.2020012010. Ensure you have a WKWebView plugin installed, either the official Apache one or Ionic’s.

  2. Add following lines to to your config.xml file.

  <preference name="WKWebViewOnly" value="true" />
  1. Run cordova prepare ios to apply the changes.

  2. Link webkit.framework to your app in Build Phases of your project in Xcode as below.

Xcode screenshot

Note Ensure that other Cordova plugins that might be using UIWebView are also updated to remove references to UIWebView. For example, InAppBrowser plugin, The Cordova team released an update in January 2020. Be sure to update this plugin to version 3.2.0 and above.

If you are using MobileFirst v7.1, then please read the blog to learn about MobileFirst v7.1 support for the above App Store restriction.

Last modified on March 16, 2020