EAS Build failing for iOS only

In your post, please share:

  • Managed workflow
  • eas-cli version: 0.34.1
  • expo sdk version: 43
  • platform: ios only

I am getting the following errors when trying to build using eas build --platform ios:

❌  duplicate symbol '_OBJC_CLASS_$_EXPermissionsService' in
┌─ libExpoModulesCore.a(EXPermissionsService.o)
└─ UMReactNativeAdapter(EXPermissionsService.o)

1007

❌  duplicate symbol '_OBJC_IVAR_$_EXPermissionsService._moduleRegistry' in
┌─ libExpoModulesCore.a(EXPermissionsService.o)
└─ UMReactNativeAdapter(EXPermissionsService.o)

1008

❌  duplicate symbol '_OBJC_IVAR_$_EXPermissionsService._requesters' in
┌─ libExpoModulesCore.a(EXPermissionsService.o)
└─ UMReactNativeAdapter(EXPermissionsService.o)

1009

❌  duplicate symbol '_OBJC_IVAR_$_EXPermissionsService._requestersByClass' in
┌─ libExpoModulesCore.a(EXPermissionsService.o)
└─ UMReactNativeAdapter(EXPermissionsService.o)

1010

❌  duplicate symbol '_OBJC_METACLASS_$_EXPermissionsService' in
┌─ libExpoModulesCore.a(EXPermissionsService.o)
└─ UMReactNativeAdapter(EXPermissionsService.o)

1011

❌  duplicate symbol '_OBJC_CLASS_$_EXReactNativeUserNotificationCenterProxy' in
┌─ libExpoModulesCore.a(EXReactNativeUserNotificationCenterProxy.o)
└─ UMReactNativeAdapter(EXReactNativeUserNotificationCenterProxy.o)

1012

❌  duplicate symbol '_OBJC_METACLASS_$_EXReactNativeUserNotificationCenterProxy' in
┌─ libExpoModulesCore.a(EXReactNativeUserNotificationCenterProxy.o)
└─ UMReactNativeAdapter(EXReactNativeUserNotificationCenterProxy.o)

1013

❌  ld: 12 duplicate symbols for architecture arm64

1014

❌  clang: error: linker command failed with exit code 1 (use -v to see invocation)

I have tried downgrading the eas-cli to v0.33.1, but still experience the same issue. The only recent change that has been made to the application is upgrading from sdk 42 to 43, and adding a googleSignIn certificate hash to the android key of our app.config.js.

Android build works without issue.

Have not added any new packages since last release.

EDIT:

I tried clearing the eas build cache, still same result.

I have now downgraded to Expo SDK 42 and the build completes successfully for both platforms.

you should remove expo-permissions from your app, it’s not supported in sdk 43 - use module specific permissions requests instead, eg: Camera.requestPermissionsAsync()

We don’t make use of expo-permissions. I’ve also confirmed that it isn’t in our package.json or yarn.lock files.

1 Like

do you have react-native-unimodules installed in your project?

Nope, react-native-unimodules not installed. We use the managed workflow - AFAIK that is for bare applications right?

I upgraded again (just in case I had done something wrong the first time) and the problem with iOS persists. Let me know if there is anything I can provide you that would make figuring it out easier.

If I check the yarn.lock file, we have @unimodules/core, @unimodules/react-native-adapter present and for some reason they are dependencies of expo version 42.0.0.

Should that be there after upgrading to 43?

So I have upgraded another one of our projects and have noted that SDK 42 isn’t present in the yarn.lock file, so something definitely broke during the upgrade. Thanks for the help, will try understand why this is happening my side.

1 Like

Thanks for update and quick response, It’s work for me, Looking for same concern.

Indigo Card