Cannot upload app to appstoreconnect cause “UIWebView” is still being used – ITMS-90809

Tags: , , , ,



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.

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



Source: stackoverflow