Before posting your question, make sure you’ve read the documentation for both EAS Build & Submit.
If your Android or iOS build is failing- make sure you do your own research on the error message first before posting (this will give you a better understanding, and you might even find that someone else has already solved the issue!) It is not up to the Expo team to debug your project or build.
In your post, please share:
Whether you are bare or managed workflow. - manage workflow
Your eas-cli version - eas-cli/3.8.1 darwin-arm64 node-v19.4.0
What you have tried so far. - I tried. pod disintegrate and pod install
I also tried deleting node_modules and then running yarn.
The error I am getting is: + [[ ! -f /Users/expo/Library/Developer/Xcode/DerivedData/moodphone-affnmoxhgdsoanfxiqydcftzauhs/Build/Intermediates.noindex/ArchiveIntermediates/moodphone/BuildProductsPath/Release-iphoneos/moodphone.app/main.jsbundle ]]
Do I need to create an expo user? It is looking in the home directory of the expo user, which doesn’t exist. Also, I tried putting a copy of main.jsbundle in my ios directory but I get the same error. I have been developing my app for weeks and this is the first time I haven’t been able to build the app. Please help.
echo ‘error: File /Users/expo/Library/Developer/Xcode/DerivedData/moodphone-affnmoxhgdsoanfxiqydcftzauhs/Build/Intermediates.noindex/ArchiveIntermediates/moodphone/BuildProductsPath/Release-iphoneos/moodphone.app/main.jsbundle does not exist. This must be a bug with React Native, please report it here: Issues · facebook/react-native · GitHub’
error: File /Users/expo/Library/Developer/Xcode/DerivedData/moodphone-affnmoxhgdsoanfxiqydcftzauhs/Build/Intermediates.noindex/ArchiveIntermediates/moodphone/BuildProductsPath/Release-iphoneos/moodphone.app/main.jsbundle does not exist. This must be a bug with React Native, please report it here: Issues · facebook/react-native · GitHub
The above two statements contradict each other. If you have an ios directory it means you’re in the Bare workflow.
No, this is a path on the build server, not your local machine. You do not need to create an expo user on your local machine.
Do you mean it runs perfectly in the Expo Go app on your iPhone?
I suspect that you have run npx expo run:ios or npx expo prebuild in the past. These commands generate the native ios and android projects which effectively switches you to the bare workflow.
If the app works correctly in Expo Go, then you can switch back to the managed workflow by reverting the changes made by npx expo prebuild. The main thing would be to delete the ios and android directories. The other changes are less important. See expo.fyi/prebuild-cleanup for more info.
After deleting the ios and android directories, you might also want to run npx expo-doctor to see if it warns about any issues.
Thank you for all the clarifications. I now better understand what managed and unmanaged mean. When I said the app works perfectly, I meant both on the expo app on my iPhone and after I installed it from Testflight. I will delete the ios and android directories and read the fyi/prebuild-cleanup and then I will try an eas build -p ios again. I will let you know how it goes. Thanks again.
I deleted ios and android and ran npx expo-doctor and made all the corrections. When I ran eas build -p ios, I once again got the following error
Error! Failed to open file: /Users/expo/Library/Developer/Xcode/DerivedData/moodphone-affnmoxhgdsoanfxiqydcftzauhs/Build/Intermediates.noindex/ArchiveIntermediates/moodphone/BuildProductsPath/Release-iphoneos/main.jsbundle
echo ‘error: File /Users/expo/Library/Developer/Xcode/DerivedData/moodphone-affnmoxhgdsoanfxiqydcftzauhs/Build/Intermediates.noindex/ArchiveIntermediates/moodphone/BuildProductsPath/Release-iphoneos/moodphone.app/main.jsbundle does not exist. This must be a bug with React Native, please report it here: Issues · facebook/react-native · GitHub’
error: File /Users/expo/Library/Developer/Xcode/DerivedData/moodphone-affnmoxhgdsoanfxiqydcftzauhs/Build/Intermediates.noindex/ArchiveIntermediates/moodphone/BuildProductsPath/Release-iphoneos/moodphone.app/main.jsbundle does not exist. This must be a bug with React Native, please report it here: Issues · facebook/react-native · GitHub
I just found this in the logs:
FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
I removed a bunch of unused code and the app ran in the expo app on my phone much faster. I will no rerun eas build -p ios.
It has been running 40 minutes. Is that very unusual? Is there a timeout limit? I am seeing the following warnings
⚠️ ld: method '+UIStatusBarAnimation:' in category from /Users/expo/Library/Developer/Xcode/DerivedData/moodphone-affnmoxhgdsoanfxiqydcftzauhs/Build/Intermediates.noindex/ArchiveIntermediates/moodphone/BuildProductsPath/Release-iphoneos/React-CoreModules/libReact-CoreModules.a(RCTStatusBarManager.o) conflicts with same method from another category
48
› Generating debug moodphone » moodphone.app.dSYM
49
› Executing moodphone » Bundle React Native code and images
the transform cache was reset.
OK. I am a bit confused, though. Do you mean that a version that you were previously able to build and upload to TestFlight works OK, but now the latest version won’t build?
45 minutes for Free tier
2 hours for priority builds
That looks problematic, but I’m not sure.
If you create a new app and install all of your dependencies, but do not change the default JavaScript code, does that build? Also, do you get anything about duplicate methods in the logs?