Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Solving UIWebView deprecation warning by App Store on React Native Expo?

I'm building a React Native app with Expo (SDK v35) and upon delivering the binaries to App Store Connect, I get a warning that many have gotten:

ITMS-90809: Deprecated API Usage - Apple will stop accepting submissions of apps that use UIWebView APIs.

I realize the warning is related to react-native-webview prior to v7.0.1 and that it will come up if UIWebView is used anywhere, including the dependencies.

However, I have cleaned up the code in its entirety, to the point that grep -r UIWebView ./* turns up empty (I even removed comments). I also ensured that all dependencies use a version of react-native-webview that is greater than the patched 7.0.1 version. Here's the log from grep -r webview ./node_modules/*/package.json:

./node_modules/react-native-signature-canvas/package.json: "react-native-webview": "^7.5.2" ./node_modules/react-native-webview/package.json: "_from": "react-native-webview@^7.5.2", ./node_modules/react-native-webview/package.json: "_id": "[email protected]", ./node_modules/react-native-webview/package.json: "_location": "/react-native-webview", ./node_modules/react-native-webview/package.json: "raw": "react-native-webview@^7.5.2", ./node_modules/react-native-webview/package.json: "name": "react-native-webview", ./node_modules/react-native-webview/package.json: "escapedName": "react-native-webview", ./node_modules/react-native-webview/package.json: "_resolved": "https://registry.npmjs.org/react-native-webview/-/react-native-webview-7.6.0.tgz", ./node_modules/react-native-webview/package.json: "_spec": "react-native-webview@^7.5.2"

The only part of the app where WebView is actually used is through the module react-native-signature-canvas, which not only uses webview versions >= 7.5.2 but also passes useWebKit={true} as props, ensuring the use of WKWebView, not UIWebView.

Any suggestions on how to get rid of the warning? Also, if I submit the app for review anyway, will it be rejected? Is the warning taken into consideration for review or will they simply test the app on an iOS version that does not support UIWebView and see if it runs normally?

like image 510
Ohto Pentikainen Avatar asked Oct 16 '22 08:10

Ohto Pentikainen


1 Answers

It looks like the Expo team has addressed this and a fix will be released in Expo SDK 37. More details found on this Github issue: https://github.com/expo/expo/issues/5497

The warning is given because the compiled app still has the UIWebView API inside it, even if the useWebKit={true} prop is set. Unfortunately Apple has just informed developers that they will no longer be accepting app submissions from April 2020 that use or have the UIWebView inside the application. In the meantime you can submit new and updated applications to the App Store until this hard deadline.

like image 58
Vigi Avatar answered Oct 21 '22 05:10

Vigi