My last deployment of my application to apple store was on February 18, 2020. I also got a warning that time about the depracation but I ignored it since they still allowed it that time. Now, I am uploading again in Apple Store (September 25, 2020) and I got warning again and this time they are already blocking. So now I just need help with the following:
Here are some information:
Email message:
ITMS-90809: Deprecated API Usage - New apps that use UIWebView are no longer accepted. Instead, use WKWebView for improved security and reliability.
react-native info:
System:
OS: macOS 10.15.6
CPU: (8) x64 Intel(R) Core(TM) i5-8279U CPU @ 2.40GHz
Memory: 91.77 MB / 8.00 GB
Shell: 5.7.1 - /bin/zsh
Binaries:
Node: 12.10.0 - ~/.nvm/versions/node/v12.10.0/bin/node
Yarn: 1.21.1 - /usr/local/bin/yarn
npm: 6.10.3 - ~/.nvm/versions/node/v12.10.0/bin/npm
Watchman: 4.9.0 - /usr/local/bin/watchman
SDKs:
iOS SDK:
Platforms: iOS 13.7, DriverKit 19.0, macOS 10.15, tvOS 13.4, watchOS 6.2
IDEs:
Android Studio: 3.6 AI-192.7142.36.36.6392135
Xcode: 11.7/11E801a - /usr/bin/xcodebuild
npmPackages:
react: 16.9.0 => 16.9.0
react-native: 0.61.5 => 0.61.5
package.json
{
"name": "GMobileApp",
"version": "0.0.1",
"private": true,
"rnpm": {
"assets": [
"./src/assets/fonts/"
]
},
"scripts": {
"android": "react-native run-android",
"ios": "react-native run-ios",
"start": "react-native start",
"test": "jest",
"lint": "eslint ."
},
"dependencies": {
"@react-native-community/art": "^1.1.2",
"@react-native-community/async-storage": "^1.7.1",
"@react-native-community/geolocation": "^2.0.2",
"@react-native-community/netinfo": "^5.3.3",
"@react-native-community/push-notification-ios": "^1.0.3",
"@react-native-firebase/admob": "^6.2.0",
"@react-native-firebase/app": "^6.2.0",
"@react-native-firebase/crashlytics": "^6.2.0",
"@react-native-firebase/messaging": "^6.2.0",
"@segment/analytics-react-native": "^1.1.0",
"axios": "^0.19.0",
"babel-runtime": "^6.26.0",
"events": "^3.0.0",
"moment": "^2.24.0",
"react": "16.9.0",
"react-native": "0.61.5",
"react-native-android-keyboard-adjust": "^1.2.0",
"react-native-animated-linear-gradient": "^1.2.0",
"react-native-device-info": "^5.4.0",
"react-native-elements": "^1.2.7",
"react-native-fbsdk": "^1.1.1",
"react-native-gesture-handler": "^1.5.2",
"react-native-gifted-chat": "^0.12.0",
"react-native-indicator": "^1.2.0",
"react-native-linear-gradient": "^2.5.6",
"react-native-location": "^2.5.0",
"react-native-map-link": "^2.7.0",
"react-native-maps": "0.26.1",
"react-native-modal-datetime-picker": "^7.6.1",
"react-native-portal": "^1.3.0",
"react-native-push-notification": "^3.1.9",
"react-native-reanimated": "^1.4.0",
"react-native-responsive-dimensions": "^3.0.0",
"react-native-responsive-screen": "^1.3.0",
"react-native-screens": "^2.0.0-alpha.15",
"react-native-simple-toast": "^1.0.0",
"react-native-splash-screen": "^3.2.0",
"react-native-svg": "^9.13.3",
"react-native-vector-icons": "^6.6.0",
"react-navigation": "^4.0.10",
"react-navigation-drawer": "^2.3.3",
"react-navigation-stack": "^1.10.3",
"react-navigation-tabs": "^2.6.0",
"react-navigation-transitions": "^1.0.12",
"react-redux": "^7.1.3",
"redux": "^4.0.4",
"redux-logger": "^3.0.6",
"redux-persist": "^6.0.0",
"redux-thunk": "^2.3.0",
"twilio-chat": "^3.3.3"
},
"devDependencies": {
"@babel/core": "^7.6.2",
"@babel/runtime": "^7.6.2",
"@react-native-community/eslint-config": "^0.0.5",
"babel-jest": "^24.9.0",
"eslint": "^6.5.1",
"jest": "^24.9.0",
"metro-react-native-babel-preset": "^0.56.0"
},
"jest": {
"preset": "react-native"
}
}
You can try searching for UIWebView in node_modules
grep -r UIWebView node_modules/*
or you can try
grep -r RCTWebView node_modules/*
The output will also include comments. So you can ignore it. Below are the output excluding comments.
node_modules/react-native-fbsdk/js/FBShareDialog.js: * Displays the dialog in a UIWebView within the app.
Binary file node_modules/react-native-gifted-chat/node_modules/react-native-maps/.gradle/4.10.3/taskHistory/taskHistory.bin matches
Binary file node_modules/react-native-maps/.gradle/4.10.3/taskHistory/taskHistory.bin matches
From this I see that below 2 modules could be using UIWebView
Regarding the 2nd part of your question, you need to upgrade all the dependencies. There are possibility that it will break the code. You may need to update your code to fix those issues.