expo / eas-cli

Fastest way to build, submit, and update iOS and Android apps
https://docs.expo.dev/eas/
MIT License
775 stars 81 forks source link

EAS build fails for iOS with Bare Workflow #1771

Closed andrewgilliland closed 1 year ago

andrewgilliland commented 1 year ago

Build/Submit details page URL

https://expo.dev/accounts/csm-developer/projects/pogo-app/builds/a5be8c95-1167-48d0-810f-d0091780bf34

Summary

The iOS build fails for Expo SDK47.

Managed or bare?

Bare

Environment

expo-env-info 1.0.5 environment info: System: OS: macOS 13.2.1 Shell: 5.8.1 - /bin/zsh Binaries: Node: 16.14.0 - /usr/local/bin/node Yarn: 1.22.19 - /usr/local/bin/yarn npm: 8.12.2 - /usr/local/bin/npm Watchman: 2023.02.20.00 - /usr/local/bin/watchman Managers: CocoaPods: 1.11.2 - /usr/local/bin/pod SDKs: iOS SDK: Platforms: DriverKit 22.2, iOS 16.2, macOS 13.1, tvOS 16.1, watchOS 9.1 Android SDK: API Levels: 31, 33 Build Tools: 30.0.2, 31.0.0, 33.0.0, 33.0.1 System Images: android-30 | Google APIs Intel x86 Atom, android-30 | Google Play Intel x86 Atom IDEs: Android Studio: 2021.2 AI-212.5712.43.2112.8815526 Xcode: 14.2/14C18 - /usr/bin/xcodebuild npmPackages: @expo/metro-config: ^0.5.2 => 0.5.2 expo: ^47.0.13 => 47.0.13 metro: ^0.66.2 => 0.66.2 react: 18.1.0 => 18.1.0 react-dom: 18.1.0 => 18.1.0 react-native: ^0.70.8 => 0.70.8 react-native-web: ^0.18.12 => 0.18.12 npmGlobalPackages: eas-cli: 3.5.2 expo-cli: 6.3.2 Expo Workflow: managed

🎉 Didn't find any issues with the project!

Error output

⚠️ ld: duplicate method '+moduleName' in ┌─[category]: ExpoBridgeModule-a5938b8bafa3eb034b428d973be07cfa.o ExpoModulesCore/libExpoModulesCore.a └─[class]: ExpoBridgeModule-674e3c7542e496ffb5e7fcb51e49e14d.o ExpoModulesCore/libExpoModulesCore.a ⚠️ ld: method '+UIStatusBarAnimation:' in category from /Users/expo/Library/Developer/Xcode/DerivedData/pogoapp-edbsmuxtvewrvdamrowtwcrdbdwf/Build/Intermediates.noindex/ArchiveIntermediates/pogoapp/BuildProductsPath/Release-iphoneos/React-CoreModules/libReact-CoreModules.a(RCTStatusBarManager.o) conflicts with same method from another category › Generating debug pogoapp » pogo.app.dSYM › Executing pogoapp » Bundle React Native code and images the transform cache was reset.

❌ error: File /Users/expo/Library/Developer/Xcode/DerivedData/pogoapp-edbsmuxtvewrvdamrowtwcrdbdwf/Build/Intermediates.noindex/ArchiveIntermediates/pogoapp/BuildProductsPath/Release-iphoneos/pogo.app/main.jsbundle does not exist. This must be a bug with React Native, please report it here: https://github.com/facebook/react-native/issues

Reproducible demo or steps to reproduce from a blank project

Upgrade bare workflow Expo project to SDK47.

expo-bot commented 1 year ago

Hi there! It looks like your issue requires a minimal reproducible example, but it is invalid or absent. Please prepare such an example and share it in a new issue.

The best way to get attention to your issue is to provide a clean and easy way for a developer to reproduce the issue on their own machine. Please do not provide your entire project, or a project with more code than is necessary to reproduce the issue.

A side benefit of going through the process of narrowing down the minimal amount of code needed to reproduce the issue is that you may get lucky and discover that the bug is due to a mistake in your application code that you can quickly fix on your own.

Resources

andrewgilliland commented 1 year ago

Note: this project started on Expo SDK 40 and has been upgraded SDK's incrementally. So if you'd like to reproduce this issue start on SDK 40 and upgrade to SDK 47. Specifically the upgrade from SDK 46 to SDK 47 the production builds were failing.

andrewgilliland commented 1 year ago

In the Xcode logs from the build there was the error The resource '/Users/expo/workingdir/build/index.js' was not found. after metro ran. And saw that ENTRY_FILE=index.js earlier in the logs. I updated the eas.json for the build profile to include:

"env": {
        "ENTRY_FILE": "node_modules/expo/AppEntry.js"
      }

Ran the build and it worked. So hopefully this will help someone out who has been upgrading to Expo SDK 47 from older versions of Expo and runs into this issue.