Hello,
I have created a managed project on Expo.
My application work with expo publish command on IOS and Android devices (Expo build too).
So I tried for the first time the command eas build
on Android without big problems, I tried to use eas build for IOS.
eas build -p ios --profile development
My build finished with some warning and errors during fastlane stage.
Warning :
/react-native-reanimated/ios/Nodes/REANode.h: pointer is missing a nullability type specifier (_Nonnull, _Nullable, or _Null_unspecified) [-Wnullability-completeness]
- (void)removeChild:(REANode *)child NS_REQUIRES_SUPER;
Errors :
ld: building for iOS Simulator, but linking in object file built for iOS, file '/Users/expo/workingdir/build/ios/Pods/GoogleMaps/Maps/Frameworks/GoogleMaps.framework/GoogleMaps' for architecture arm64
❌ clang: error: linker command failed with exit code 1 (use -v to see invocation)
Capabilities for Signing & Capabilities may not function correctly because its entitlements use a placeholder team ID. To resolve this, select a development team in the MyProject editor. (in target 'MyProject' from project 'MyProject')
▸ ** BUILD FAILED **
▸ The following build commands failed:
▸ Ld /Users/expo/workingdir/build/ios/build/Build/Intermediates.noindex/MyProject.build/Release-iphonesimulator/MyProject.build/Objects-normal/arm64/Binary/myproject normal arm64
My eas.json look like this :
{
"build": {
"base": {
"env": {
"EXAMPLE_ENV": "example value"
},
"android": {
"image": "default",
"env": {
"PLATFORM": "android"
}
},
"ios": {
"image": "latest",
"env": {
"PLATFORM": "ios"
}
}
},
"development": {
"extends": "base",
"distribution": "internal",
"env": {
"ENVIRONMENT": "development"
},
"android": {
"buildType": "apk"
},
"ios": {
"simulator": true
}
},
"release": {
"extends": "base",
"env": {
"ENVIRONMENT": "production",
"BUILD_RELEASE_NAME": "prod"
}
},
"preprod": {
"extends": "base",
"env": {
"ENVIRONMENT": "preprod",
"BUILD_RELEASE_NAME": "preprod"
}
}
}
}
Here is a part of my app.config.js
file using googleMaps api keys
ios: {
supportsTablet: true,
bundleIdentifier: 'package.myproject',
config: {
googleMapsApiKey: process.env.MAPS_IOS_API_KEY,
},
},
android: {
googleServicesFile: './google-services.json',
package: 'package.myproject',
useNextNotificationsApi: true,
adaptiveIcon: {
foregroundImage: './src/assets/icons/logo/Logo_E.png',
backgroundColor: '#FFFFFF',
},
config: {
googleMaps: {
apiKey: process.env.MAPS_ANDROID_API_KEY,
},
},
},
This is my first time trying to build for IOS, on my project i’m an Android developer so i’m not an expert on IOS…
The error mention GoogleMaps and the only library using google map on my project is react-native-maps
Maybe I forgot something in my EAS configuration for IOS ?
Thanks