So i am using React Native to develop the app and trying to upload the app to TestFlight via AppStoreConnect. Everytime i upload i get an email from apple:
ITMS-90809: Deprecated API Usage – New apps that use UIWebView are no longer accepted. Instead, use WKWebView for improved security and reliability
Yes, i’ve taken a loook at similar posts that are here on Stackoverflow. Here are the things i’ve tried.
1. I’ve ran grep -r UIWebView
on both node_modules
and Pods
folders and only matches i get are comment tags.
For node_modules:
node_modules/create-react-context/node_modules/fbjs/lib/UserAgent.js.flow: * - UIWebView
node_modules/create-react-context/node_modules/fbjs/lib/UserAgent.js: * - UIWebView
node_modules/fbjs/lib/UserAgent.js.flow: * - UIWebView
node_modules/fbjs/lib/UserAgent.js: * - UIWebView
node_modules/jsc-android/dist/include/JSContextPrivate.h:/*! @abstract The delegate the context will use when trying to load a module. Note, this delegate will be ignored for contexts returned by UIWebView. */
node_modules/react-native-gesture-handler/node_modules/fbjs/lib/UserAgent.js.flow: * - UIWebView
node_modules/react-native-gesture-handler/node_modules/fbjs/lib/UserAgent.js: * - UIWebView
node_modules/react-native-keyboard-manager/ios/IQKeyboardManager/IQKeyboardManager.m: // We are unable to get textField object while keyboard showing on UIWebView's textField. (Bug ID: #11)
node_modules/react-native-keyboard-manager/ios/IQKeyboardManager/IQKeyboardManager.m: //Commented due to #56. Added all the conditions below to handle UIWebView's textFields. (Bug ID: #56)
node_modules/react-native-keyboard-manager/ios/IQKeyboardManager/IQKeyboardManager.m: // We are unable to get textField object while keyboard showing on UIWebView's textField. (Bug ID: #11)
node_modules/ua-parser-js/test/browser-test.json: "ua" : "Mozilla/5.0 (iPhone; CPU iPhone OS 10_0_2 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko) Mobile/14A456 QQ/6.5.3.410 V1_IPH_SQ_6.5.3_1_APP_A Pixel/1080 Core/UIWebView NetType/WIFI Mem/26",
For Pods folder:
./Pods/IQKeyboardManager/IQKeyboardManager/IQKeyboardManager.m: // We are unable to get textField object while keyboard showing on UIWebView's textField. (Bug ID: #11)
./Pods/IQKeyboardManager/IQKeyboardManager/IQKeyboardManager.m: //Commented due to #56. Added all the conditions below to handle UIWebView's textFields. (Bug ID: #56)
./Pods/IQKeyboardManager/IQKeyboardManager/IQKeyboardManager.m: // We are unable to get textField object while keyboard showing on UIWebView's textField. (Bug ID: #11)
2. I have also updated to the latest react-native version, here’s how my package.json looks like:
"dependencies": {
"react-native-signature-capture": "^0.4.10",
"@react-native-community/masked-view": "^0.1.10",
"@react-navigation/native": "^5.8.10",
"@react-navigation/stack": "^5.12.8",
"axios": "^0.21.1",
"dayjs": "^1.8.17",
"dot-object": "^1.9.0",
"lodash.debounce": "^4.0.8",
"lodash.get": "^4.4.2",
"react": "16.8.6",
"react-native": "^0.63.4",
"react-native-date-picker": "^3.2.7",
"react-native-elements": "^3.1.0",
"react-native-gesture-handler": "^1.9.0",
"react-native-keyboard-manager": "^4.0.13-17",
"react-native-modal-selector": "^2.0.3",
"react-native-numeric-input": "^1.8.3",
"react-native-paper": "^2.16.0",
"react-native-pdf": "^5.1.7",
"react-native-picker-select": "^8.0.4",
"react-native-reanimated": "^1.13.2",
"react-native-safe-area-context": "^3.1.9",
"react-native-screens": "^2.16.1",
"react-native-step-indicator": "^1.0.3",
"react-native-tailwind": "^1.0.10",
"react-native-vector-icons": "^6.6.0",
"rn-fetch-blob": "^0.12.0",
"sanitize-html": "^1.22.1",
"yup": "^0.27.0"
},
"devDependencies": {
"@babel/core": "^7.12.10",
"@babel/runtime": "^7.12.5",
"@react-native-community/eslint-config": "^0.0.5",
"babel-jest": "^24.9.0",
"babel-plugin-module-resolver": "^3.2.0",
"eslint": "^6.7.1",
"jest": "^24.9.0",
"metro-react-native-babel-preset": "^0.56.3",
"react-test-renderer": "16.8.6"
},
If anyone has ideas or could point me to the right direction, thank you in advanced.
Advertisement
Answer
So turns out that one of the Frameworks i added in theFramework, Libraries, and Embedded Content
of XCode was using UIWebView – in this particular case i was the GD Framework. So i just had to download the updated SDK and that solved the problem for me. See Image here