Search code examples
expofastlaneeasnx-workspace

Expo 49 - iOS build fails at xcodebuild without any error message


I'm running into an issue during my local iOS build of my expo managed iOS app inside a nx workspace. I'm using an Apple Silicon M2 Mac. I just updated my NX workspace to the latest version 17.2.8

Here is my environment:

  expo-env-info 1.0.5 environment info:
    System:
      OS: macOS 14.2.1
      Shell: 5.9 - /bin/zsh
    Binaries:
      Node: 21.5.0 - /opt/homebrew/bin/node
      Yarn: 1.22.21 - /opt/homebrew/bin/yarn
      npm: 10.2.4 - /opt/homebrew/bin/npm
    Managers:
      CocoaPods: 1.14.3 - /opt/homebrew/bin/pod
    SDKs:
      iOS SDK:
        Platforms: DriverKit 23.2, iOS 17.2, macOS 14.2, tvOS 17.2, visionOS 1.0, watchOS 10.2
    IDEs:
      Android Studio: 2023.1 AI-231.9392.1.2311.11076708
      Xcode: 15.2/15C500b - /usr/bin/xcodebuild
    npmPackages:
      @expo/metro-config: 0.10.7 => 0.10.7
      @expo/webpack-config: ^19.0.0 => 19.0.0
      babel-preset-expo: 9.5.2 => 9.5.2
      expo: 49.0.16 => 49.0.16
      metro: 0.76.8 => 0.76.8
      react: 18.2.0 => 18.2.0
      react-dom: 18.2.0 => 18.2.0
      react-native: 0.72.6 => 0.72.6
      react-native-web: 0.19.10 => 0.19.10
    npmGlobalPackages:
      eas-cli: 6.0.0
      expo-cli: 6.3.10
    Expo Workflow: managed

Here is the related log:

[INSTALL_PODS] Pod install took 11 [s] to run
[INSTALL_PODS] Integrating client project
[INSTALL_PODS] [!] Please close any current Xcode sessions and use `MyApp.xcworkspace` for this project from now on.
[INSTALL_PODS] [Expo] Installing the build script for target MyApp
[INSTALL_PODS] Patching imports for file: /private/var/folders/k4/gr3vtctd1w111b6lmgcrbssc0000gn/T/eas-build-local-nodejs/59aca384-52be-4068-ae00-7fe98cb2f822/build/apps/hefe-app/node_modules/react-native-pager-view/ios/ReactNativePageView.m
[INSTALL_PODS] expo_patch_react_imports! took 0.1256 seconds to transform files.
[INSTALL_PODS] Pod installation complete! There are 71 dependencies from the Podfile and 74 total pods installed.
[INSTALL_PODS] [!] `<PBXResourcesBuildPhase UUID=`13B07F8E1A680F5B00A75B9A`>` attempted to initialize an object with an unknown UUID. `1F42667616BC45408167CAC0` for attribute: `files`. This can be the result of a merge and the unknown UUID is being discarded.
[POST_INSTALL_HOOK] Script 'eas-build-post-install' is present in package.json, running it...
[POST_INSTALL_HOOK] > [email protected] eas-build-post-install
[POST_INSTALL_HOOK] > cd ../../ && node tools/scripts/eas-build-post-install.mjs . apps/MyApp
[POST_INSTALL_HOOK] Symlink created
[CONFIGURE_XCODE_PROJECT] Configuring Xcode project
[CONFIGURE_XCODE_PROJECT] Assigning provisioning profile '*[expo] com.blum.MyApp AppStore 2020-06-19T17:49:58.151Z' (Apple Team ID: FZHBG5WD5H) to target 'MyApp'
[CONFIGURE_EXPO_UPDATES] Using default release channel for 'expo-updates' (default)
[RUN_FASTLANE] Creating Gymfile
[RUN_FASTLANE] Gymfile created
[RUN_FASTLANE] Successfully loaded '/private/var/folders/k4/gr3vtctd1w111b6lmgcrbssc0000gn/T/eas-build-local-nodejs/59aca384-52be-4068-ae00-7fe98cb2f822/build/apps/MyApp/ios/Gymfile' 📄
[RUN_FASTLANE]
[RUN_FASTLANE] +--------------------------------------------------------------+
[RUN_FASTLANE] |               Detected Values from './Gymfile'               |
[RUN_FASTLANE] +-----------------------+--------------------------------------+
[RUN_FASTLANE] | suppress_xcode_output | true                                 |
[RUN_FASTLANE] | clean                 | false                                |
[RUN_FASTLANE] | scheme                | MyApp                                |
[RUN_FASTLANE] | configuration         | Release                              |
[RUN_FASTLANE] | export_options        | {:method=>"app-store",               |
[RUN_FASTLANE] |                       | :provisioningProfiles=>{"com.blum.MyApp"=>"358df2c5-8579-4e25-9fda-c957664c491d"}}|
[RUN_FASTLANE] | export_xcargs         | OTHER_CODE_SIGN_FLAGS="--keychain    |
[RUN_FASTLANE] |                       | /var/folders/k4/gr3vtctd1w111b6lmgcrbssc0000gn/T/turtle-v2-c9c038c6-e143-41a8-842b-e67081afe490.keychain"  |
[RUN_FASTLANE] | disable_xcpretty      | true                                 |
[RUN_FASTLANE] | buildlog_path         | /var/folders/k4/gr3vtctd1w111b6lmgcrbssc0000gn/T/eas-build-local-nodejs/59aca384-52be-4068-ae00-7fe98cb2f822/logs |
[RUN_FASTLANE] | output_directory      | ./build                              |
[RUN_FASTLANE] +-----------------------+--------------------------------------+
[RUN_FASTLANE] Resolving Swift Package Manager dependencies...
[RUN_FASTLANE] $ xcodebuild -resolvePackageDependencies -workspace ./MyApp.xcworkspace -scheme MyApp -configuration Release
[RUN_FASTLANE] ▸ Command line invocation:
[RUN_FASTLANE] ▸     /Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild -resolvePackageDependencies -workspace ./MyApp.xcworkspace -scheme MyApp -configuration Release
[RUN_FASTLANE] ▸ User defaults from command line:
[RUN_FASTLANE] ▸     IDEPackageSupportUseBuiltinSCM = YES
[RUN_FASTLANE] ▸ resolved source packages:
[RUN_FASTLANE] $ xcodebuild -showBuildSettings -workspace ./MyApp.xcworkspace -scheme MyApp -configuration Release 2>&1
[RUN_FASTLANE] Command timed out after 3 seconds on try 1 of 4, trying again with a 6 second timeout...
[RUN_FASTLANE] Detected provisioning profile mapping: {:"com.blum.MyApp"=>"358df2c5-8579-4e25-9fda-c957664c491d"}
[RUN_FASTLANE]
[RUN_FASTLANE] +-----------------------------------------------------------------------------+
[RUN_FASTLANE] |                           Summary for gym 2.219.0                           |
[RUN_FASTLANE] +--------------------------------------+--------------------------------------+
[RUN_FASTLANE] | workspace                            | ./MyApp.xcworkspace                  |
[RUN_FASTLANE] | scheme                               | MyApp                                |
[RUN_FASTLANE] | clean                                | false                                |
[RUN_FASTLANE] | output_directory                     | ./build                              |
[RUN_FASTLANE] | output_name                          | MyApp                                |
[RUN_FASTLANE] | configuration                        | Release                              |
[RUN_FASTLANE] | silent                               | false                                |
[RUN_FASTLANE] | skip_package_ipa                     | false                                |
[RUN_FASTLANE] | skip_package_pkg                     | false                                |
[RUN_FASTLANE] | export_options.method                | app-store                            |
[RUN_FASTLANE] | export_options.provisioningProfiles  | 358df2c5-8579-4e25-9fda-c957664c491d |
[RUN_FASTLANE] | .com.blum.MyApp                       |                                     |
[RUN_FASTLANE] | export_xcargs                        | OTHER_CODE_SIGN_FLAGS="--keychain    |
[RUN_FASTLANE] |                                      | /var/folders/k4/gr3vtctd1w111b6lmgc  |
[RUN_FASTLANE] |                                      | rbssc0000gn/T/turtle-v2-c9c038c6-e1  |
[RUN_FASTLANE] |                                      | 43-41a8-842b-e67081afe490.keychain"  |
[RUN_FASTLANE] | build_path                           | /Users/maxmustermann/Library/Develope|
[RUN_FASTLANE] |                                      | r/Xcode/Archives/2024-01-14          |
[RUN_FASTLANE] | result_bundle                        | false                                |
[RUN_FASTLANE] | buildlog_path                        | /var/folders/k4/gr3vtctd1w111b6lmgc  |
[RUN_FASTLANE] |                                      | rbssc0000gn/T/eas-build-local-nodej  |
[RUN_FASTLANE] |                                      | s/59aca384-52be-4068-ae00-7fe98cb2f  |
[RUN_FASTLANE] |                                      | 822/logs                             |
[RUN_FASTLANE] | destination                          | generic/platform=iOS                 |
[RUN_FASTLANE] | suppress_xcode_output                | true                                 |
[RUN_FASTLANE] | xcodebuild_formatter                 | xcpretty                             |
[RUN_FASTLANE] | build_timing_summary                 | false                                |
[RUN_FASTLANE] | disable_xcpretty                     | true                                 |
[RUN_FASTLANE] | skip_profile_detection               | false                                |
[RUN_FASTLANE] | xcodebuild_command                   | xcodebuild                           |
[RUN_FASTLANE] | skip_package_dependencies_resolutio  | false                                |
[RUN_FASTLANE] | n                                    |                                      |
[RUN_FASTLANE] | disable_package_automatic_updates    | false                                |
[RUN_FASTLANE] | use_system_scm                       | false                                |
[RUN_FASTLANE] | xcode_path                           | /Applications/Xcode.app              |
[RUN_FASTLANE] +--------------------------------------+--------------------------------------+
[RUN_FASTLANE] $ set -o pipefail && xcodebuild -workspace ./MyApp.xcworkspace -scheme MyApp -configuration Release -destination 'generic/platform=iOS' -archivePath /Users/maxmustermann/Library/Developer/Xcode/Archives/2024-01-14/MyApp\ 2024-01-14\ 17.03.18.xcarchive archive | tee /var/folders/k4/gr3vtctd1w111b6lmgcrbssc0000gn/T/eas-build-local-nodejs/59aca384-52be-4068-ae00-7fe98cb2f822/logs/MyApp-MyApp.log > /dev/null
[RUN_FASTLANE] ⚠️  Script has ambiguous dependencies causing it to run on every build.
   To fix, go to: Xcode » MyApp/MyApp » Build Phases » 'Start Packager'
   Either: Uncheck "Based on dependency analysis", or select output files to trigger the script

[RUN_FASTLANE] ⚠️  Script has ambiguous dependencies causing it to run on every build.
   To fix, go to: Xcode » MyApp/MyApp » Build Phases » 'Bundle React Native code and images'
   Either: Uncheck "Based on dependency analysis", or select output files to trigger the script

[RUN_FASTLANE] ▸ ** ARCHIVE FAILED **
[RUN_FASTLANE] ** ARCHIVE FAILED **
[RUN_FASTLANE] Exit status: 65
[RUN_FASTLANE]
[RUN_FASTLANE] +---------------------------------------+
[RUN_FASTLANE] |           Build environment           |
[RUN_FASTLANE] +-------------+-------------------------+
[RUN_FASTLANE] | xcode_path  | /Applications/Xcode.app |
[RUN_FASTLANE] | gym_version | 2.219.0                 |
[RUN_FASTLANE] | sdk         | iPhoneOS17.2.sdk        |
[RUN_FASTLANE] +-------------+-------------------------+
[RUN_FASTLANE] Looks like fastlane ran into a build/archive error with your project
[RUN_FASTLANE] It's hard to tell what's causing the error, so we wrote some guides on how
[RUN_FASTLANE] to troubleshoot build and signing issues: https://docs.fastlane.tools/codesigning/getting-started/
[RUN_FASTLANE] Before submitting an issue on GitHub, please follow the guide above and make
[RUN_FASTLANE] sure your project is set up correctly.
[RUN_FASTLANE] fastlane uses `xcodebuild` commands to generate your binary, you can see the
[RUN_FASTLANE] the full commands printed out in yellow in the above log.
[RUN_FASTLANE] Make sure to inspect the output above, as usually you'll find more error information there
[RUN_FASTLANE] [!] Error building the application - see the log above
[RUN_FASTLANE] Error: The "Run fastlane" step failed with an unknown error. Refer to "Xcode Logs" below for additional, more detailed logs.
[CLEAN_UP_CREDENTIALS] Destroying keychain - /var/folders/k4/gr3vtctd1w111b6lmgcrbssc0000gn/T/turtle-v2-c9c038c6-e143-41a8-842b-e67081afe490.keychain
[CLEAN_UP_CREDENTIALS] Removing provisioning profile

Build failed
The "Run fastlane" step failed with an unknown error. Refer to "Xcode Logs" below for additional, more detailed logs.
npx exited with non-zero code: 1

Normally the log provides some valuable information. But in this case there is no information. And because my app is expo managed, I don't have a Xcode project where I could check the logs.

The build works fine on my Intel based Mac mini.


Solution

  • Check the following two things

    1. Go to eas credentials and recreate your provisioning and distribution certificates
    2. Go to App Store Connect to see whether there are any agreements that the Account Owner has to agree to.