EAS Build Failing with ExpoAdapterGoogleSignIn


EAS build has started failing the past few days with the below error. As far as we can tell nothing has changed in the app that would impact this. To test, we tried with an older commit that EAS handled without any issues a couple weeks ago and it too is failing. As best we can tell there seems to be an issue with the expo adapter for our google authentication library (@react-native-google-signin/google-signin).

:x: (ios/Pods/Target Support Files/Pods-Immerciv/ExpoModulesProvider.swift:9:8)

7 |
8 | import ExpoModulesCore

9 | import ExpoAdapterGoogleSignIn
| ^ compiling for iOS 12.4, but module ‘ExpoAdapterGoogleSignIn’ has a minimum deployment target of iOS 13.0: /Users/expo/Library/Developer/Xcode/DerivedData/Immerciv-aczlltufkaeronbdxarseebctisn/Build/Intermediates.noindex/ArchiveIntermediates/Immerciv/BuildProductsPath/Release-iphoneos/ExpoAdapterGoogleSignIn/ExpoAdapterGoogleSignIn.swiftmodule/arm64-apple-ios.swiftmodule

Other details

  • SDK Version:46
  • Managed workflow
  • eas-cli 2.6.0
  • Platforms(Android/iOS/web/all): iOS

Any ideas? Thanks!

❌  (/Users/expo/workingdir/build/ios/Pods/Target Support Files/Pods-suqiapp/ExpoModulesProvider.swift:9:8)

   7 | 
   8 | import ExpoModulesCore
>  9 | import ExpoCrypto
     |        ^ compiling for iOS 12.4, but module 'ExpoCrypto' has a minimum deployment target of iOS 13.0: /Users/expo/Library/Developer/Xcode/DerivedData/suqiapp-fquyiptspgdlukajbnuuuaagkmob/Build/Intermediates.noindex/ArchiveIntermediates/suqiapp/BuildProductsPath/Release-iphoneos/ExpoCrypto/ExpoCrypto.swiftmodule/arm64-apple-ios.swiftmodule
  10 | import EASClient
  11 | import ExpoKeepAwake
  12 | import ExpoLinearGradient

similar issue here, was ok 2 days ago and even probably yesterday

the latest version of expo packages, for sdk 47, targets a minimum sdk version of 13.0: https://blog.expo.dev/expo-sdk-47-a0f6f5c038af

@mattmccance - it looks like @react-native-google-signin/google-signin bumped their minimum version to 13.0 also. you can bump this with BuildProperties - Expo Documentation or update to sdk 47 which does this for you

1 Like

this worked ! thanks @brents
So does this mean we cannot support folks on < ios13 on expo , if we use packages such as google signin ?

sdk 47 requires ios 13 or higher. google-signin and other third party packages are free to enforce whichever minimum version they like, it seems like that lib switched the minimum version to 13 before expo did with sdk 47.

on may 31, 2022, only 4% of devices used ios 13 or lower. this should be a lower percentage now, given that 5 months have passed since then. see App Store - Support - Apple Developer

1 Like

this worked for me too - thanks!

What is the solution? I’m having same issue? Should we need to restrict expo eas build to use SDK 46, if so what that setting is?

Hi @smarni

Could you elaborate on exactly which issue you’re having and what you have tried to resolve it?

Also, is your app on Expo SDK 46 or 47 (or some other version)?

If the problem is “compiling for iOS 12.4, but module 'ExpoCrypto' has a minimum deployment target of iOS 13.0”, then try upgrading to Expo SDK 47 or else use BuildProperties to change the ios.deploymentTarget to “13.0” as brents said.

Hi, my App:

SDK 46
Managed Workflow

When i run eas build -p ios, the build keeps failing with error message minimum deployment verion while installing pods and the path to my expo-fie-system inside node modules.

When i opened the ios file inside the expo-file-system i found this:

s.platform = :ios, ‘13.0’

Since expo SDK 46 minimum deployment is 12.4, my 2 options are

  1. upgrade to sdk 47
  2. add ios deployment target of 13.0 in my app.config.js

I went with option 2 then my app stopped working completely and got this error:

Unhandled JS Exception: undefined is not a function (near ‘…_$$_REQUIRE(_dependencyMap[0], “react-native/Libraries/Image/AssetRegistry”).registerAsset…’)

global code@

global code