EAS built iOS app is stuck at splash screen + simulator build fails

Hi,

Using SDK 41 and EAS buliding

I’m building iOS ipa file with EAS build and then deliver it to our testflight account. Everythings seems fine and I’m able to install the app. But, when I launch it, it remains stuck in the spash screen. The first view of the app never appears. Any hints what could be wrong? I’m thinking maybe some issue with assets. I’ve tried with several kinds of metro.configs. We are using react-native-svg-transformer, but I have also tried with plain default config.
Currently the metro.config.js is:
const { getDefaultConfig } = require(‘@expo/metro-config’)

module.exports = (async () => {
const defaultConfig = await getDefaultConfig(__dirname)

defaultConfig.resolver.assetExts = defaultConfig.resolver.assetExts.filter(ext => ext !== ‘svg’)
defaultConfig.resolver.sourceExts.push(‘svg’)
defaultConfig.resolver.sourceExts.push(‘properties’)
defaultConfig.transformer.babelTransformerPath = require.resolve(‘react-native-svg-transformer’)

return defaultConfig
})()

Any hints?

Also when trying to build for simulator to be able to debug better; I noticed that simulator build fails.
The error comes in run fastlane step:

▸ ** BUILD FAILED **

▸ The following build commands failed:
▸ 	Ld /Users/expo/workingdir/build/ios/build/Build/Intermediates.noindex/XXX.build/Release-iphonesimulator/XXX.build/Objects-normal/arm64/Binary/XXX normal arm64
▸ (1 failure)

** BUILD FAILED **

	Ld /Users/expo/workingdir/build/ios/build/Build/Intermediates.noindex/XXX.build/Release-iphonesimulator/XXX.build/Objects-normal/arm64/Binary/XXX normal arm64

(1 failure)

Exit status: 65

Any known issues / hints how to get the simulator build working?

Br,
-Toni

It seems the simulator build failing was due to react-native-maps and the google maps component in it.

can you share a link to your build page? or a minimal reproducible example?

Regarding the simulator build, here is a link: Build Details — 7badc563-875f-414b-b24e-61b8ce732954 — seppo — Expo

In the xcode logs of the build there is this:
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

I then removed the maps component from our app temporarily and then I was able to run in simulator. It also got stuck in the splash screen. When starting the app in simulator I see only this in the logs:
assertion failed: 18G3020 17B102: libxpc.dylib + 83135 [2C8335BC-019B-37C6-B8C6-92A04E475054]: 0x7d
Based on some googling it seems related to some library missing or failing to load, but haven’t been able to figure out which one it is. It doesn’t seem to create crash report; probably because it does not really crash, it’s just stuck.

the google maps issue:

we may want to exclude arm64 from simulator builds when the app uses react-native-maps until it’s resolved, you can do this with a config plugin but it may be a bit tricky to do so.

as for hanging on the splash screen - that’s likely an issue with your app code. if you believe it’s a bug on our end, please share the repo and i can investigate. i’m brentvatne on github