Apple store publish app Understanding ITMS-90809: UIWebView API Deprecation

Hello dear
i uploaded my ionic application in apple store but it is rejected by apple and in my email they wrote UIWebView API Deprecation

so i will search and read your response in this url

i did all things you said but it does not work yet.

i have some plugin in my application like
1- fcm ::cordova-plugin-firebase
2- cordova-plugin-x-socialsharing
3- cordova-plugin-inappbrowser
4- cordova-plugin-facebook4

this plugins updated as i research in google, i also did check ionic blog and add some stuff to my config.xml as you can see in below images but have the same issue yet would you please help me??

this is my email:ali.talaee.eng@gmail.com and +989925863411 my whats app account please help me to fix this issue and check below images

i removed all temp folders:

  • www
  • platforms
  • plugins
  • node_modules
  • package-lock.json

and reinstall theme but does not work

package.json file is

{
  "name": "arabic",
  "version": "0.0.1",
  "author": "Ionic Framework",
  "homepage": "https://ionicframework.com/",
  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
  },
  "private": true,
  "dependencies": {
    "@angular/animations": "~8.2.14",
    "@angular/cdk": "~8.2.3",
    "@angular/common": "~8.2.14",
    "@angular/core": "~8.2.14",
    "@angular/forms": "~8.2.14",
    "@angular/material": "^8.2.3",
    "@angular/platform-browser": "~8.2.14",
    "@angular/platform-browser-dynamic": "~8.2.14",
    "@angular/pwa": "^0.1000.4",
    "@angular/router": "~8.2.14",
    "@angular/service-worker": "~8.2.14",
    "@ionic-native/app-availability": "^5.34.0",
    "@ionic-native/app-version": "^5.34.0",
    "@ionic-native/core": "^5.34.0",
    "@ionic-native/device": "^5.34.0",
    "@ionic-native/diagnostic": "^5.34.0",
    "@ionic-native/facebook": "^5.36.0",
    "@ionic-native/fcm": "^5.34.0",
    "@ionic-native/geolocation": "^5.34.0",
    "@ionic-native/google-plus": "^5.34.0",
    "@ionic-native/in-app-browser": "^5.36.0",
    "@ionic-native/ionic-webview": "^5.36.0",
    "@ionic-native/location-accuracy": "^5.34.0",
    "@ionic-native/native-geocoder": "^5.34.0",
    "@ionic-native/native-storage": "^5.34.0",
    "@ionic-native/network": "^5.34.0",
    "@ionic-native/sign-in-with-apple": "^5.34.0",
    "@ionic-native/social-sharing": "^5.36.0",
    "@ionic-native/splash-screen": "^5.34.0",
    "@ionic-native/status-bar": "^5.34.0",
    "@ionic/angular": "^5.6.12",
    "@ionic/storage": "^2.3.1",
    "@ngx-translate/core": "^12.1.2",
    "@ngx-translate/http-loader": "^4.0.0",
    "cordova-plugin-androidx": "^1.0.2",
    "cordova-plugin-app-version": "^0.1.12",
    "cordova-plugin-device": "2.0.2",
    "cordova-plugin-ionic-keyboard": "^2.0.5",
    "cordova-plugin-nativestorage": "^2.3.2",
    "cordova-plugin-network-information": "^2.0.2",
    "cordova-plugin-splashscreen": "5.0.2",
    "cordova-plugin-statusbar": "2.4.2",
    "cordova-plugin-whitelist": "1.3.3",
    "cordova-plugin-x-socialsharing": "^5.6.8",
    "cordova-res": "^0.15.3",
    "cordova-sqlite-storage": "^5.1.0",
    "cordova.plugins.diagnostic": "^5.0.2",
    "core-js": "^2.6.12",
    "es6-promise-plugin": "^4.2.2",
    "hammerjs": "^2.0.8",
    "ionic-header-parallax": "^2.2.2",
    "leaflet": "^1.6.0",
    "leaflet-ant-path": "^1.3.0",
    "leaflet-geosearch": "^2.7.0",
    "ng-lazyload-image": "^9.1.0",
    "rxjs": "^6.6.7",
    "tslib": "^1.14.1",
    "zone.js": "~0.9.1"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "^0.803.29",
    "@angular/cli": "^8.3.29",
    "@angular/compiler": "~8.2.14",
    "@angular/compiler-cli": "~8.2.14",
    "@angular/language-service": "~8.2.14",
    "@ionic/angular-toolkit": "^2.3.3",
    "@types/jasmine": "~3.3.8",
    "@types/jasminewd2": "^2.0.10",
    "@types/node": "~8.9.4",
    "codelyzer": "^5.0.0",
    "cordova-ios": "^6.2.0",
    "cordova-plugin-add-swift-support": "^2.0.2",
    "cordova-plugin-androidx-adapter": "^1.1.3",
    "cordova-plugin-appavailability": "^0.4.2",
    "cordova-plugin-device": "^2.0.2",
    "cordova-plugin-facebook-connect": "^3.0.0",
    "cordova-plugin-facebook4": "^6.4.0",
    "cordova-plugin-fcm-with-dependecy-updated": "^7.8.0",
    "cordova-plugin-geolocation": "^4.0.2",
    "cordova-plugin-googleplus": "^7.0.1",
    "cordova-plugin-inappbrowser": "^4.1.0",
    "cordova-plugin-ionic-keyboard": "^2.2.0",
    "cordova-plugin-ionic-webview": "^5.0.0",
    "cordova-plugin-nativegeocoder": "^3.4.1",
    "cordova-plugin-request-location-accuracy": "^2.3.0",
    "cordova-plugin-sign-in-with-apple": "^0.1.2",
    "cordova-plugin-splashscreen": "^5.0.2",
    "cordova-plugin-statusbar": "^2.4.2",
    "cordova-plugin-whitelist": "^1.3.3",
    "jasmine-core": "~3.4.0",
    "jasmine-spec-reporter": "~4.2.1",
    "karma": "~4.1.0",
    "karma-chrome-launcher": "~2.2.0",
    "karma-coverage-istanbul-reporter": "~2.0.1",
    "karma-jasmine": "~2.0.1",
    "karma-jasmine-html-reporter": "^1.7.0",
    "protractor": "~5.4.0",
    "ts-node": "~7.0.0",
    "tslint": "~5.15.0",
    "typescript": "~3.4.3"
  },
  "description": "An Ionic project",
  "cordova": {
    "plugins": {
      "cordova-plugin-whitelist": {},
      "cordova-plugin-statusbar": {},
      "cordova-plugin-device": {},
      "cordova-plugin-splashscreen": {},
      "cordova-plugin-ionic-keyboard": {},
      "cordova-plugin-network-information": {},
      "cordova-sqlite-storage": {},
      "cordova-plugin-app-version": {},
      "cordova.plugins.diagnostic": {
        "ANDROID_SUPPORT_VERSION": "28.+"
      },
      "cordova-plugin-nativestorage": {},
      "cordova-plugin-x-socialsharing": {
        "PHOTO_LIBRARY_ADD_USAGE_DESCRIPTION": "This app requires photo library access to function properly.",
        "PHOTO_LIBRARY_USAGE_DESCRIPTION": "This app requires photo library access to function properly."
      },
      "cordova-plugin-inappbrowser": {},
      "cordova-plugin-androidx": {},
      "cordova-plugin-androidx-adapter": {},
      "cordova-plugin-sign-in-with-apple": {},
      "cordova-plugin-appavailability": {},
      "cordova-plugin-fcm-with-dependecy-updated": {
        "IOS_FIREBASE_MESSAGING_VERSION": "~> 7.4.0"
      },
      "cordova-plugin-request-location-accuracy": {},
      "cordova-plugin-nativegeocoder": {
        "LOCATION_WHEN_IN_USE_DESCRIPTION": "Use geocoder service"
      },
      "cordova-plugin-geolocation": {
        "GPS_REQUIRED": "true"
      },
      "cordova-plugin-facebook4": {
        "APP_ID": "1131278407395828",
        "APP_NAME": "opencart",
        "FACEBOOK_HYBRID_APP_EVENTS": "false",
        "FACEBOOK_ANDROID_SDK_VERSION": "5.13.0"
      },
      "cordova-plugin-googleplus": {
        "REVERSED_CLIENT_ID": "com.googleusercontent.apps.223441354638-t67dlg4c5lmqcibejk203n2f78d45u4b"
      },
      "cordova-plugin-ionic-webview": {}
    },
    "platforms": [
      "ios"
    ]
  }
}

please help me

hello there is nobody to help me?

You are not using latest version of social sharing plugin, because in the screenshot you can see the UIWebView code that is not in the plugin repository anymore.

I’m getting the exact same email. I’ve updated all the plugins as per my knowledge.

Below i’ve attached a screenshot of my package.json and my search results for ‘UIWebView’ in /platforms/ios.



Requesting you to kindly review this code as well, since I’ve been stuck here for over a month.
Thank you in advance.

Hello dear i think for you just need to update your social sharing plugin

remove it first

1- ionic cordova plugin remove cordova-plugin-x-socialsharing --save 
2- npm uninstall @ionic-native/social-sharing --save 

add it again

1- ionic cordova plugin add cordova-plugin-x-socialsharing@latest --save 
2- npm install @ionic-native/social-sharing@latest --save

and maybe you need to change config.xml file

<allow-navigation href="http://localhost:8080/*" />
    <preference name="CordovaWebViewEngine" value="CDVWKWebViewEngine" />
    <platform name="ios">
        <resource-file src="GoogleService-Info.plist" />
        <preference name="StatusBarOverlaysWebView" value="false" />
        <preference name="AutoHideSplashScreen" value="true" />
        <allow-intent href="itms:*" />
        <preference name="WKWebViewOnly" value="true" />
        <preference name="InAppBrowserStatusBarStyle" value="lightcontent" />
        <feature name="CDVWKWebViewEngine">
            <param name="ios-package" value="CDVWKWebViewEngine" />
        </feature>
        <preference name="CordovaWebViewEngine" value="CDVWKWebViewEngine" />

I’ve done the same, still getting the same issue. My social-sharing does not have UIWebView so I don’t think that’s the reason.

I did change the config file as well. Can you explain to me why you’ve used Allow-navigation?

and after doing the changes, do you still get UIWebView when you search in ios folder?

We’re still able to see it in Swiper.js bundle but not in social sharing.