EAS build fails on iOS Expo 47 due to minimum deployment target of iOS 13.0

After upgrading to Expo SDK 47 we get the following error when running eas build on iOS:

error: compiling for iOS 12.0, but module 'ExpoModulesCore' has a minimum deployment target of iOS 13.0: /Users/expo/Library/Developer/Xcode/DerivedData/Overvinne-dhuhkwwmftihfkcxltwghoewdjdv/Build/Intermediates.noindex/ArchiveIntermediates/Overvinne/BuildProductsPath/Debug-iphoneos/ExpoModulesCore/ExpoModulesCore.swiftmodule/arm64-apple-ios.swiftmodule

In another thread here it was suggested to use BuildProperties to target iOS 13.0 but that did not help unfortunately. Any suggestions? Builds perfectly on Android.

Workflow: Managed
eas-cli version: eas-cli/2.7.1 win32-x64 node-v16.14.2

After trying multiple times the build failes with different error messages, but the same reason. Did bump from expo sdk version 47.0.3 to 47.0.6.

Now we got:

❌  (node_modules/@config-plugins/react-native-branch/ios/ExpoAdapterBranch/BranchAppDelegate.swift:1:8)

> 1 | import ExpoModulesCore
    |        ^ compiling for iOS 12.0, but module 'ExpoModulesCore' has a minimum deployment target of iOS 13.0: /Users/expo/Library/Developer/Xcode/DerivedData/Overvinne-dhuhkwwmftihfkcxltwghoewdjdv/Build/Intermediates.noindex/ArchiveIntermediates/Overvinne/BuildProductsPath/Debug-iphoneos/ExpoModulesCore/ExpoModulesCore.swiftmodule/arm64-apple-ios.swiftmodule
  2 | import RNBranch
  3 | 
  4 | public class BranchAppDelegate: ExpoAppDelegateSubscriber {

Hi @overvinne_it

I’m afraid if you need iOS 12 support you’ll need to stick with Expo SDK 46:

:apple: iOS 13.0 is now the minimum supported version

Along with the upgrade to React Native 0.70, Expo projects support iOS 13.0 and greater. Refer to Apple’s public App Store data for insight into the current iOS version distribution among active devices.

EDIT: Sorry, I probably misunderstood what you’re trying to do. If you’re not trying to support iOS 12 could you post your dependencies and devDependencies from package.json?

Can you try upgrading @config-plugins/react-native-branch version to 4.0.0? I tried to reproduce this on my end but using the latest version of the package doesn’t seem to throw the exception. Also, another reason is that we recently updated the deployment target (see PR here).

Another thing I’d suggest is to check the dependencies’ version compatibility with the current SDK version in your project. To do that, you can use npx expo install --check. Please find more info about checking and upgrading specific dependency versions in the documentation.

2 Likes

I did miss that one, thanks. Had version ^3.0.0 in package.json. Waiting in build queue as we speak, so will update when the results are in.

1 Like

It builds now, thanks for your help and quick response. --check is a good tip, not always so easy to keep all dependencies up to date. expo-cli doctor does not cover everything, it said everything was good in this case.

1 Like