EAS SUBMIT SDK Version Issue. This app was built with the iOS 14.1 SDK. All iOS apps submitted to the App Store must be built with the iOS 15 SDK or later, included in Xcode 13 or later

Before posting your question, make sure you’ve read the documentation for both EAS Build & Submit.

If your Android or iOS build is failing- make sure you do your own research on the error message first before posting (this will give you a better understanding, and you might even find that someone else has already solved the issue!) It is not up to the Expo team to debug your project or build.

In your post, please share:

  • Whether you are bare or managed workflow
    Managed workflow
  • Your eas-cli version:
    VERSION
    eas-cli/0.53.1 win32-x64 node-v14.16.0
  • What you have tried so far:
    eas submit --platform ios --url

return:
SDK Version Issue. This app was built with the iOS 14.1 SDK. All iOS apps submitted to the App Store must be built with the iOS 15 SDK or later, included in Xcode 13 or later

I haven’t found the solution to this problem anywhere, there seems to be an error in the system that makes the APP for IOS compilation at Expo.

run npx expo-env-info in your project and share

expo-env-info 1.0.3 environment info:
System:
OS: Windows 10 10.0.19044
Binaries:
Node: 14.16.0 - C:\Program Files\nodejs\node.EXE
Yarn: 1.22.10 - ~\AppData\Roaming\npm\yarn.CMD
npm: 6.14.11 - C:\Program Files\nodejs\npm.CMD
npmPackages:
expo: ~41.0.0 => 41.0.0
react: 16.13.1 => 16.13.1
react-dom: 16.13.1 => 16.13.1
react-native: https://github.com/expo/react-native/archive/sdk-41.0.0.tar.gz => 0.63.2
react-native-web: ~0.13.12 => 0.13.18
Expo Workflow: managed

you need to update to expo sdk 42 or greater.

Well, now with this habit of forcing the expo update all the time, but a problem after updating from 41 to 43 I’m getting this error and there’s nothing on google, what now?

TypeError: utils_1.isNativeFetch is not a function. (In ‘utils_1.isNativeFetch(global.fetch)’, ‘utils_1.isNativeFetch’ is undefined)

expo sdk 41 was released 14 months ago. we aren’t actually forcing this upgrade, apple is (with min xcode version). we can’t add support for sdk 41 automatically without making meaningful changes to the runtime which might impact people’s apps.

ERROR ITMS-90725: SDK Version Issue. This app was built with the iOS 14.1 SDK. All iOS apps submitted to the App Store must be built with the iOS 15 SDK or later, included in Xcode 13 or later.

expo-env-info 1.0.3 environment info:
System:
OS: Windows 10 10.0.19044
Binaries:
Node: 14.16.0 - C:\Program Files\nodejs\node.EXE
Yarn: 1.22.10 - ~\AppData\Roaming\npm\yarn.CMD
npm: 6.14.11 - C:\Program Files\nodejs\npm.CMD
npmPackages:
expo: ^42.0.0 => 42.0.5
react: 16.13.1 => 16.13.1
react-dom: 16.13.1 => 16.13.1
react-native: 0.63.4 => 0.63.4
react-native-web: ~0.13.12 => 0.13.18
Expo Workflow: managed

You told me that 42+ didn’t get this error… I upgraded to 42, followed all day fixing and testing the app and when I finally finished I got the exact same error…

package.json:

{
  "main": "node_modules/expo/AppEntry.js",
  "scripts": {
    "start": "expo start",
    "android": "expo start --android",
    "ios": "expo start --ios",
    "web": "expo start --web",
    "eject": "expo eject"
  },
  "resolutions": {
    "@react-native-community/picker": "1.6.6"
  },
  "dependencies": {
    "@expo/react-native-action-sheet": "^3.8.0",
    "@react-native-async-storage/async-storage": "~1.15.0",
    "@react-native-community/async-storage": "~1.12.0",
    "@react-native-community/masked-view": "0.1.10",
    "@react-native-community/picker": "1.6.6",
    "@react-navigation/drawer": "^5.11.4",
    "@react-navigation/material-top-tabs": "^5.3.10",
    "@react-navigation/native": "^5.8.10",
    "@react-navigation/stack": "^5.12.8",
    "@sentry/react-native": "^3.4.1",
    "@unform/core": "^1.9.8",
    "@unform/mobile": "^1.9.8",
    "axios": "^0.21.0",
    "expo": "^42.0.0",
    "expo-apple-authentication": "~3.2.1",
    "expo-application": "~3.2.0",
    "expo-av": "~9.2.3",
    "expo-camera": "~11.2.2",
    "expo-constants": "~11.0.2",
    "expo-device": "~3.3.0",
    "expo-facebook": "~11.3.1",
    "expo-file-system": "~11.1.3",
    "expo-google-app-auth": "~9.0.0",
    "expo-google-sign-in": "~9.2.1",
    "expo-image-picker": "~10.2.3",
    "expo-linear-gradient": "~9.2.0",
    "expo-linking": "~2.3.1",
    "expo-location": "~12.1.3",
    "expo-notifications": "~0.12.3",
    "expo-status-bar": "~1.0.4",
    "expo-updates": "~0.8.5",
    "expo-web-browser": "~9.2.0",
    "moment": "^2.29.1",
    "react": "16.13.1",
    "react-dom": "16.13.1",
    "react-native": "0.63.4",
    "react-native-calendars": "^1.944.0",
    "react-native-debounce-input": "^1.0.5",
    "react-native-gesture-handler": "~1.10.2",
    "react-native-htmlview": "^0.16.0",
    "react-native-maps": "0.28.0",
    "react-native-maps-directions": "^1.8.0",
    "react-native-masked-text": "^1.13.0",
    "react-native-paper": "^4.9.2",
    "react-native-picker-select": "7.0.0",
    "react-native-reanimated": "~2.2.0",
    "react-native-safe-area-context": "3.2.0",
    "react-native-screens": "~3.4.0",
    "react-native-snap-carousel": "^3.9.1",
    "react-native-step-indicator": "^1.0.3",
    "react-native-tab-view": "^2.15.2",
    "react-native-unimodules": "~0.14.5",
    "react-native-web": "~0.13.12",
    "react-query": "^3.39.0",
    "react-redux": "^7.2.2",
    "redux": "^4.0.5",
    "redux-persist": "^6.0.0",
    "sentry-expo": "^4.0.0",
    "socket.io": "2.3.0",
    "socket.io-client": "2.3.1"
  },
  "devDependencies": {
    "@babel/core": "~7.9.0"
  },
  "private": true
}

This error seems to be coming from “EAS” which is using an old service, not my app…

EAS is using a version of Xcode that will compile your project. You can try using a newer version if you like but SDK 41 was only explicitly tested against that Xcode version and your project is unlikely to work with other versions without some changes. Look in the EAS docs for how to change the build image, that is how you can use a different version of Xcode. Like I said, it probably won’t work and you need to update the SDK. My understanding was that 42+ would work but I could have been mistaken, you can check your build logs to see which Xcode version is used.

edit: oh I see, you are using expo build and not eas build - you can’t set the image in this case. It looks like you successfully built for SDK 43 so this shouldn’t be a problem anyhow

43* or greater. working.

good to hear