Problems finding out what is causing the warning: Apple will stop accepting submissions of app updates that use UIWebView APIs starting from December 2020

Hi all,
I’m working on trying to get rid of the warning " Apple will stop accepting submissions of app updates that use UIWebView APIs starting from December 2020" from Apple when i upload new apps to the app store.

I have upgraded to cordova-ios 5.1.1 and updated all plugins which i find in my package.json. I also have added to my config.xml file as suggested here: https://ionicframework.com/blog/understanding-itms-90809-uiwebview-api-deprecation/

My installed WKWebView plugin is this one cordova-plugin-ionic-webview, and i see when i run the app from xcode that it says I’m using WKWebView. Still i get the warning from Apple.

I have a feeling that there may be some of the plugins I’m using that are referencing UIWebView, but i am not able to figure out which one(s). I’ve been spending two days on this issue, and now would like some help, if possible. Providing my list of plugins below, hoping that anyone can tell me if any of these are referencing UIWebView, or have dependencies that does. I don’t have the competency to figure this out myself.

Btw, moving to Capacitor is not an option for me at this point.

Here’s the plugin list i get from running command cordova plugins list:

cordova-android-firebase-gradle-release 4.0.0 “cordova-android-firebase-gradle-release”
cordova-android-play-services-gradle-release 4.0.0 “cordova-android-play-services-gradle-release”
cordova-android-support-gradle-release 3.0.1 “cordova-android-support-gradle-release”
cordova-plugin-androidx 1.0.2 “cordova-plugin-androidx”
cordova-plugin-androidx-adapter 1.1.0 “cordova-plugin-androidx-adapter”
cordova-plugin-app-version 0.1.9 “AppVersion”
cordova-plugin-background-geolocation 3.1.0 “CDVBackgroundGeolocation”
cordova-plugin-badge 0.8.8 “Badge”
cordova-plugin-camera 4.1.0 “Camera”
cordova-plugin-console 1.1.0 “Console”
cordova-plugin-customurlscheme 5.0.1 “Custom URL scheme”
cordova-plugin-device 2.0.3 “Device”
cordova-plugin-file 6.0.2 “File”
cordova-plugin-file-opener2 3.0.0 “File Opener2”
cordova-plugin-file-transfer 1.7.1 “File Transfer”
cordova-plugin-geolocation 4.0.2 “Geolocation”
cordova-plugin-ionic 5.4.6 “cordova-plugin-ionic”
cordova-plugin-ionic-keyboard 2.2.0 “cordova-plugin-ionic-keyboard”
cordova-plugin-ionic-webview 4.1.3 “cordova-plugin-ionic-webview”
cordova-plugin-local-notification 0.9.0-beta.2 “LocalNotification”
cordova-plugin-network-information 2.0.2 “Network Information”
cordova-plugin-safariviewcontroller 1.6.0 “SafariViewController”
cordova-plugin-telerik-imagepicker 2.3.3 “ImagePicker”
cordova-plugin-vibration 3.1.1 “Vibration”
cordova-plugin-whitelist 1.3.4 “Whitelist”
cordova-support-google-services 1.4.0 “cordova-support-google-services”
cordova.plugins.diagnostic 5.0.1 “Diagnostic”
newrelic-cordova-plugin 5.0.0 “NewRelic”
phonegap-plugin-multidex 1.0.0 “Multidex”
phonegap-plugin-push 2.3.0 “PushPlugin”

Thank you in advance,
Lars

When you open xCode and search for Text appearance UIWebView: You see some References?

I do. A lot of them. Most under CordovaLib.xcodeproject:

But also in my MainViewController.m, and CDVWKWebViewEngine.m in my App.xcodeproj

In the two files mentioned the first two are in code comments, except this one:

            int navType = (int)navigationAction.navigationType;
            if (WKNavigationTypeOther == navigationAction.navigationType) {
                navType = (int)UIWebViewNavigationTypeOther;
            }

Okay, so i got a tips to check the WK_WEB_VIEW_ONLY value in xcode, which i did. That was set to WK_WEB_VIEW_ONLY=0 in both my cordovaLib and my app. I changed the value to WK_WEB_VIEW_ONLY=1 And i got the app uploaded without the warning.

I had to actually set this value in xcode. It would be nice if i could set it somewhere in my source code, so that i don’t have to remember setting this value, if i remove and re-add the ios project. Not sure if that’s possible to do.

You can. Add <preference name="WKWebViewOnly" value="true" /> to your config.xml file. This set’s the Flag to 1.