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