eas build works in dev, but does not build in fastlane

I am pulling what’s left of my hair out over this. The app works fine in local build and Expo Go but fails when I try to build in Fastlane. The error seems to be here:

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

❌  error: File /Users/expo/Library/Developer/Xcode/DerivedData/XXXX-dgxwrycopxcslebavplfhocdycau/Build/Intermediates.noindex/ArchiveIntermediates/XXXX/BuildProductsPath/Release-iphoneos/XXXX.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

Here is the entire build output (after greppiong out Compiling, EXecuting, Packaging:

Creating Gymfile
Gymfile created
Successfully loaded '/Users/expo/workingdir/build/ios/Gymfile' 📄
+-----------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
|                                                                  Detected Values from './Gymfile'                                                                   |
+-----------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
| suppress_xcode_output | true                                                                                                                                        |
| clean                 | false                                                                                                                                       |
| scheme                | XXXX                                                                                                                                        |
| configuration         | Release                                                                                                                                     |
| export_options        |                                                                                                                                             |
| export_xcargs         | OTHER_CODE_SIGN_FLAGS="--keychain /var/folders/h2/gp9wlkv11lg0qj6y2mnqgc_40000gn/T/turtle-v2-06b36ce9-c27d-4e25-a53d-4748a5a6a19b.keychain" |
| disable_xcpretty      | true                                                                                                                                        |
| buildlog_path         | /Users/expo/workingdir/logs                                                                                                                 |
| output_directory      | ./build                                                                                                                                     |
+-----------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
Resolving Swift Package Manager dependencies...
$ xcodebuild -resolvePackageDependencies -workspace ./XXXX.xcworkspace -scheme XXXX -configuration Release
▸ Command line invocation:
▸     /Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild -resolvePackageDependencies -workspace ./XXXX.xcworkspace -scheme XXXX -configuration Release
▸ User defaults from command line:
▸     IDEPackageSupportUseBuiltinSCM = YES
▸ --- xcodebuild: WARNING: Using the first of multiple matching destinations:
▸ { platform:iOS, id:dvtdevice-DVTiPhonePlaceholder-iphoneos:placeholder, name:Any iOS Device }
▸ { platform:iOS Simulator, id:dvtdevice-DVTiOSDeviceSimulatorPlaceholder-iphonesimulator:placeholder, name:Any iOS Simulator Device }
▸ { platform:iOS Simulator, id:12DF1F1F-6206-4BDD-A49F-A0D3456DF497, OS:16.0, name:iPad (9th generation) }
▸ { platform:iOS Simulator, id:45E053AA-59FB-41B7-8DCA-2B11D2392A47, OS:16.0, name:iPad Air (5th generation) }
▸ { platform:iOS Simulator, id:7D6C0D20-8EEC-4074-9347-4F2DED6B610C, OS:16.0, name:iPad Pro (11-inch) (3rd generation) }
▸ { platform:iOS Simulator, id:A30864C0-A249-427B-B2F5-02B94465B342, OS:16.0, name:iPad Pro (12.9-inch) (5th generation) }
▸ { platform:iOS Simulator, id:823E8F2B-3928-438B-877F-E57CBB4D4227, OS:16.0, name:iPad mini (6th generation) }
▸ { platform:iOS Simulator, id:E4F0A83E-5E75-4C8A-A871-796043E2CD97, OS:16.0, name:iPhone 14 }
▸ { platform:iOS Simulator, id:8CF852C2-D053-4020-A861-01D707EE7C7B, OS:16.0, name:iPhone 14 Plus }
▸ { platform:iOS Simulator, id:FE2944BA-74BD-416E-93BB-3DC56388EF16, OS:16.0, name:iPhone 14 Pro }
▸ { platform:iOS Simulator, id:DD553D4E-CD22-4A2B-B095-50D480238D15, OS:16.0, name:iPhone 14 Pro Max }
▸ { platform:iOS Simulator, id:1F7C3904-A8F9-44F2-B6D0-31F51493EA22, OS:16.0, name:iPhone SE (3rd generation) }
▸ resolved source packages:
$ xcodebuild -showBuildSettings -workspace ./XXXX.xcworkspace -scheme XXXX -configuration Release
[stderr] --- xcodebuild: WARNING: Using the first of multiple matching destinations:
[stderr] { platform:iOS, id:dvtdevice-DVTiPhonePlaceholder-iphoneos:placeholder, name:Any iOS Device }
[stderr] { platform:iOS Simulator, id:dvtdevice-DVTiOSDeviceSimulatorPlaceholder-iphonesimulator:placeholder, name:Any iOS Simulator Device }
[stderr] { platform:iOS Simulator, id:12DF1F1F-6206-4BDD-A49F-A0D3456DF497, OS:16.0, name:iPad (9th generation) }
[stderr] { platform:iOS Simulator, id:45E053AA-59FB-41B7-8DCA-2B11D2392A47, OS:16.0, name:iPad Air (5th generation) }
[stderr] { platform:iOS Simulator, id:7D6C0D20-8EEC-4074-9347-4F2DED6B610C, OS:16.0, name:iPad Pro (11-inch) (3rd generation) }
[stderr] { platform:iOS Simulator, id:A30864C0-A249-427B-B2F5-02B94465B342, OS:16.0, name:iPad Pro (12.9-inch) (5th generation) }
[stderr] { platform:iOS Simulator, id:823E8F2B-3928-438B-877F-E57CBB4D4227, OS:16.0, name:iPad mini (6th generation) }
[stderr] { platform:iOS Simulator, id:E4F0A83E-5E75-4C8A-A871-796043E2CD97, OS:16.0, name:iPhone 14 }
[stderr] { platform:iOS Simulator, id:8CF852C2-D053-4020-A861-01D707EE7C7B, OS:16.0, name:iPhone 14 Plus }
[stderr] { platform:iOS Simulator, id:FE2944BA-74BD-416E-93BB-3DC56388EF16, OS:16.0, name:iPhone 14 Pro }
[stderr] { platform:iOS Simulator, id:DD553D4E-CD22-4A2B-B095-50D480238D15, OS:16.0, name:iPhone 14 Pro Max }
[stderr] { platform:iOS Simulator, id:1F7C3904-A8F9-44F2-B6D0-31F51493EA22, OS:16.0, name:iPhone SE (3rd generation) }
Command timed out after 3 seconds on try 1 of 4, trying again with a 6 second timeout...
[stderr] --- xcodebuild: WARNING: Using the first of multiple matching destinations:
[stderr] { platform:iOS, id:dvtdevice-DVTiPhonePlaceholder-iphoneos:placeholder, name:Any iOS Device }
[stderr] { platform:iOS Simulator, id:dvtdevice-DVTiOSDeviceSimulatorPlaceholder-iphonesimulator:placeholder, name:Any iOS Simulator Device }
[stderr] { platform:iOS Simulator, id:12DF1F1F-6206-4BDD-A49F-A0D3456DF497, OS:16.0, name:iPad (9th generation) }
[stderr] { platform:iOS Simulator, id:45E053AA-59FB-41B7-8DCA-2B11D2392A47, OS:16.0, name:iPad Air (5th generation) }
[stderr] { platform:iOS Simulator, id:7D6C0D20-8EEC-4074-9347-4F2DED6B610C, OS:16.0, name:iPad Pro (11-inch) (3rd generation) }
[stderr] { platform:iOS Simulator, id:A30864C0-A249-427B-B2F5-02B94465B342, OS:16.0, name:iPad Pro (12.9-inch) (5th generation) }
[stderr] { platform:iOS Simulator, id:823E8F2B-3928-438B-877F-E57CBB4D4227, OS:16.0, name:iPad mini (6th generation) }
[stderr] { platform:iOS Simulator, id:E4F0A83E-5E75-4C8A-A871-796043E2CD97, OS:16.0, name:iPhone 14 }
[stderr] { platform:iOS Simulator, id:8CF852C2-D053-4020-A861-01D707EE7C7B, OS:16.0, name:iPhone 14 Plus }
[stderr] { platform:iOS Simulator, id:FE2944BA-74BD-416E-93BB-3DC56388EF16, OS:16.0, name:iPhone 14 Pro }
[stderr] { platform:iOS Simulator, id:DD553D4E-CD22-4A2B-B095-50D480238D15, OS:16.0, name:iPhone 14 Pro Max }
[stderr] { platform:iOS Simulator, id:1F7C3904-A8F9-44F2-B6D0-31F51493EA22, OS:16.0, name:iPhone SE (3rd generation) }
Command timed out after 6 seconds on try 2 of 4, trying again with a 12 second timeout...
[stderr] 2023-01-13 09:29:14.479 xcodebuild[7280:21563] Requested but did not find extension point with identifier Xcode.InterfaceBuilderBuildSupport.PlatformDefinition
[stderr] 2023-01-13 09:29:14.479 xcodebuild[7273:21485] Requested but did not find extension point with identifier Xcode.InterfaceBuilderBuildSupport.PlatformDefinition
[stderr] --- xcodebuild: WARNING: Using the first of multiple matching destinations:
[stderr] { platform:iOS, id:dvtdevice-DVTiPhonePlaceholder-iphoneos:placeholder, name:Any iOS Device }
[stderr] { platform:iOS Simulator, id:dvtdevice-DVTiOSDeviceSimulatorPlaceholder-iphonesimulator:placeholder, name:Any iOS Simulator Device }
[stderr] { platform:iOS Simulator, id:12DF1F1F-6206-4BDD-A49F-A0D3456DF497, OS:16.0, name:iPad (9th generation) }
[stderr] { platform:iOS Simulator, id:45E053AA-59FB-41B7-8DCA-2B11D2392A47, OS:16.0, name:iPad Air (5th generation) }
[stderr] { platform:iOS Simulator, id:7D6C0D20-8EEC-4074-9347-4F2DED6B610C, OS:16.0, name:iPad Pro (11-inch) (3rd generation) }
[stderr] { platform:iOS Simulator, id:A30864C0-A249-427B-B2F5-02B94465B342, OS:16.0, name:iPad Pro (12.9-inch) (5th generation) }
[stderr] { platform:iOS Simulator, id:823E8F2B-3928-438B-877F-E57CBB4D4227, OS:16.0, name:iPad mini (6th generation) }
[stderr] { platform:iOS Simulator, id:E4F0A83E-5E75-4C8A-A871-796043E2CD97, OS:16.0, name:iPhone 14 }
[stderr] { platform:iOS Simulator, id:8CF852C2-D053-4020-A861-01D707EE7C7B, OS:16.0, name:iPhone 14 Plus }
[stderr] { platform:iOS Simulator, id:FE2944BA-74BD-416E-93BB-3DC56388EF16, OS:16.0, name:iPhone 14 Pro }
[stderr] { platform:iOS Simulator, id:DD553D4E-CD22-4A2B-B095-50D480238D15, OS:16.0, name:iPhone 14 Pro Max }
[stderr] { platform:iOS Simulator, id:1F7C3904-A8F9-44F2-B6D0-31F51493EA22, OS:16.0, name:iPhone SE (3rd generation) }
[stderr] 2023-01-13 09:29:17.331 xcodebuild[7307:21705] Requested but did not find extension point with identifier Xcode.InterfaceBuilderBuildSupport.PlatformDefinition
Detected provisioning profile mapping: {:"io.xxxx.xxxxapp"=>"acc02fcb-2179-4d76-8260-0dfa75fcb468"}
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
|                                                                                      Summary for gym 2.210.0                                                                                      |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
| workspace                                           | ./XXXX.xcworkspace                                                                                                                          |
| scheme                                              | XXXX                                                                                                                                        |
| clean                                               | false                                                                                                                                       |
| output_directory                                    | ./build                                                                                                                                     |
| output_name                                         | XXXX                                                                                                                                        |
| configuration                                       | Release                                                                                                                                     |
| silent                                              | false                                                                                                                                       |
| skip_package_ipa                                    | false                                                                                                                                       |
| skip_package_pkg                                    | false                                                                                                                                       |
| export_options.method                               | app-store                                                                                                                                   |
| export_options.provisioningProfiles.io.xxxx.xxxxapp | acc02fcb-2179-4d76-8260-0dfa75fcb468                                                                                                        |
| export_xcargs                                       | OTHER_CODE_SIGN_FLAGS="--keychain /var/folders/h2/gp9wlkv11lg0qj6y2mnqgc_40000gn/T/turtle-v2-06b36ce9-c27d-4e25-a53d-4748a5a6a19b.keychain" |
| build_path                                          | /Users/expo/Library/Developer/Xcode/Archives/2023-01-13                                                                                     |
| result_bundle                                       | false                                                                                                                                       |
| buildlog_path                                       | /Users/expo/workingdir/logs                                                                                                                 |
| destination                                         | generic/platform=iOS                                                                                                                        |
| suppress_xcode_output                               | true                                                                                                                                        |
| xcodebuild_formatter                                | xcpretty                                                                                                                                    |
| disable_xcpretty                                    | true                                                                                                                                        |
| skip_profile_detection                              | false                                                                                                                                       |
| xcodebuild_command                                  | xcodebuild                                                                                                                                  |
| skip_package_dependencies_resolution                | false                                                                                                                                       |
| disable_package_automatic_updates                   | false                                                                                                                                       |
| use_system_scm                                      | false                                                                                                                                       |
| xcode_path                                          | /Applications/Xcode.app                                                                                                                     |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
$ set -o pipefail && xcodebuild -workspace ./XXXX.xcworkspace -scheme XXXX -configuration Release -destination 'generic/platform=iOS' -archivePath /Users/expo/Library/Developer/Xcode/Archives/2023-01-13/XXXX\ 2023-01-13\ 09.29.17.xcarchive archive | tee /Users/expo/workingdir/logs/XXXX-XXXX.log > /dev/null
› Preparing Pods/expo-dev-menu-EXDevMenu » ResourceBundle-EXDevMenu-expo-dev-menu-Info.plist
› Creating  Pods/expo-dev-menu-EXDevMenu » EXDevMenu.bundle
› Preparing @stripe/stripe-react-native Pods/StripeUICore-StripeUICore » ResourceBundle-StripeUICore-StripeUICore-Info.plist
› Creating  @stripe/stripe-react-native Pods/StripeUICore-StripeUICore » StripeUICore.bundle
› Preparing @stripe/stripe-react-native Pods/StripeFinancialConnections-StripeFinancialConnections » ResourceBundle-StripeFinancialConnections-StripeFinancialConnections-Info.plist
› Preparing @stripe/stripe-react-native Pods/StripeCore-StripeCore » ResourceBundle-StripeCore-StripeCore-Info.plist
› Creating  @stripe/stripe-react-native Pods/StripeFinancialConnections-StripeFinancialConnections » StripeFinancialConnections.bundle
› Preparing Pods/Stripe-Stripe3DS2 » ResourceBundle-Stripe3DS2-Stripe-Info.plist
› Creating  @stripe/stripe-react-native Pods/StripeCore-StripeCore » StripeCore.bundle
› Preparing @stripe/stripe-react-native Pods/Stripe-Stripe » ResourceBundle-Stripe-Stripe-Info.plist
› Creating  Pods/Stripe-Stripe3DS2 » Stripe3DS2.bundle
› Preparing Pods/expo-dev-launcher-EXDevLauncher » ResourceBundle-EXDevLauncher-expo-dev-launcher-Info.plist
› Creating  Pods/expo-dev-launcher-EXDevLauncher » EXDevLauncher.bundle
› Creating  @stripe/stripe-react-native Pods/Stripe-Stripe » Stripe.bundle
› Preparing react-native Pods/React-Core-AccessibilityResources » ResourceBundle-AccessibilityResources-React-Core-Info.plist
› Creating  react-native Pods/React-Core-AccessibilityResources » AccessibilityResources.bundle
› Preparing expo-updates Pods/EXUpdates-EXUpdates » ResourceBundle-EXUpdates-EXUpdates-Info.plist
› Creating  expo-updates Pods/EXUpdates-EXUpdates » EXUpdates.bundle
› Preparing expo-constants Pods/EXConstants-EXConstants » ResourceBundle-EXConstants-EXConstants-Info.plist
› Creating  expo-constants Pods/EXConstants-EXConstants » EXConstants.bundle
    pointer is missing a nullability type specifier (_Nonnull, _Nullable, or _Null_unspecified) [-Wnullability-completeness]
    category 'Reanimated' does not conform to protocol 'RCTBridgeDelegate' [-Wprotocol]
    pointer is missing a nullability type specifier (_Nonnull, _Nullable, or _Null_unspecified) [-Wnullability-completeness]
    pointer is missing a nullability type specifier (_Nonnull, _Nullable, or _Null_unspecified) [-Wnullability-completeness]
    pointer is missing a nullability type specifier (_Nonnull, _Nullable, or _Null_unspecified) [-Wnullability-completeness]
    pointer is missing a nullability type specifier (_Nonnull, _Nullable, or _Null_unspecified) [-Wnullability-completeness]
    pointer is missing a nullability type specifier (_Nonnull, _Nullable, or _Null_unspecified) [-Wnullability-completeness]
    pointer is missing a nullability type specifier (_Nonnull, _Nullable, or _Null_unspecified) [-Wnullability-completeness]
    Run script build phase '[CP-User] Generate app.config for prebuilt Constants.manifest' will be run during every build because it does not specify any outputs. To address this warning, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'EXConstants' from project 'Pods')
    pointer is missing a nullability type specifier (_Nonnull, _Nullable, or _Null_unspecified) [-Wnullability-completeness]
    Run script build phase 'Start Packager' will be run during every build because it does not specify any outputs. To address this warning, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'XXXX' from project 'XXXX')
    Run script build phase 'Bundle React Native code and images' will be run during every build because it does not specify any outputs. To address this warning, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'XXXX' from project 'XXXX')
    Run script build phase 'Upload Debug Symbols to Sentry' will be run during every build because it does not specify any outputs. To address this warning, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'XXXX' from project 'XXXX')
› Preparing XXXX » Info.plist
    pointer is missing a nullability type specifier (_Nonnull, _Nullable, or _Null_unspecified) [-Wnullability-completeness]
› Linking   XXXX » XXXX
⚠️  ld: duplicate method '+moduleName' in
┌─[category]: ExpoBridgeModule-9f46bb1f370f1411722b8b47d924b6b1.o ExpoModulesCore/libExpoModulesCore.a
└─[class]: ExpoBridgeModule-d9e59fe735ad0bf8314546791789ec15.o ExpoModulesCore/libExpoModulesCore.a
⚠️  ld: method '+UIStatusBarAnimation:' in category from /Users/expo/Library/Developer/Xcode/DerivedData/XXXX-dgxwrycopxcslebavplfhocdycau/Build/Intermediates.noindex/ArchiveIntermediates/XXXX/BuildProductsPath/Release-iphoneos/React-CoreModules/libReact-CoreModules.a(RCTStatusBarManager.o) conflicts with same method from another category
› Generating debug XXXX » XXXX.app.dSYM
    the transform cache was reset.

❌  error: File /Users/expo/Library/Developer/Xcode/DerivedData/XXXX-dgxwrycopxcslebavplfhocdycau/Build/Intermediates.noindex/ArchiveIntermediates/XXXX/BuildProductsPath/Release-iphoneos/XXXX.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

    Run script build phase '[CP-User] Generate app.manifest for expo-updates' will be run during every build because it does not specify any outputs. To address this warning, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'EXUpdates' from project 'Pods')
▸ ** ARCHIVE FAILED **
▸ The following build commands failed:
▸ 	PhaseScriptExecution Bundle\ React\ Native\ code\ and\ images /Users/expo/Library/Developer/Xcode/DerivedData/XXXX-dgxwrycopxcslebavplfhocdycau/Build/Intermediates.noindex/ArchiveIntermediates/XXXX/IntermediateBuildFilesPath/XXXX.build/Release-iphoneos/XXXX.build/Script-00DD1BFF1BD5951E006B06BC.sh (in target 'XXXX' from project 'XXXX')
▸ (1 failure)
** ARCHIVE FAILED **
The following build commands failed:
	PhaseScriptExecution Bundle\ React\ Native\ code\ and\ images /Users/expo/Library/Developer/Xcode/DerivedData/XXXX-dgxwrycopxcslebavplfhocdycau/Build/Intermediates.noindex/ArchiveIntermediates/XXXX/IntermediateBuildFilesPath/XXXX.build/Release-iphoneos/XXXX.build/Script-00DD1BFF1BD5951E006B06BC.sh (in target 'XXXX' from project 'XXXX')
(1 failure)
Exit status: 65
+-------------+-------------------------+
|           Build environment           |
+-------------+-------------------------+
| xcode_path  | /Applications/Xcode.app |
| gym_version | 2.210.0                 |
| sdk         | iPhoneOS16.0.sdk        |
+-------------+-------------------------+

It is a managed app so I do not have ios or android folders.

I have the same problem. Managed app, first compile of the iOS version. Android version works fine and is published, so this is likely a tooling issue for iOS only.

Creating Gymfile
Gymfile created
Successfully loaded '/Users/expo/workingdir/build/ios/Gymfile' 📄
+-----------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
|                                                                  Detected Values from './Gymfile'                                                                   |
+-----------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
| suppress_xcode_output | true                                                                                                                                        |
| clean                 | false                                                                                                                                       |
| scheme                | mqttdemo                                                                                                                                    |
| configuration         | Release                                                                                                                                     |
| export_options        |                                                                                                                                             |
| export_xcargs         | OTHER_CODE_SIGN_FLAGS="--keychain /var/folders/h2/gp9wlkv11lg0qj6y2mnqgc_40000gn/T/turtle-v2-81ad9222-6fad-4a2f-84d4-4d34d4a65204.keychain" |
| disable_xcpretty      | true                                                                                                                                        |
| buildlog_path         | /Users/expo/workingdir/logs                                                                                                                 |
| output_directory      | ./build                                                                                                                                     |
+-----------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
Resolving Swift Package Manager dependencies...
$ xcodebuild -resolvePackageDependencies -workspace ./mqttdemo.xcworkspace -scheme mqttdemo -configuration Release
▸ Command line invocation:
▸     /Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild -resolvePackageDependencies -workspace ./mqttdemo.xcworkspace -scheme mqttdemo -configuration Release
▸ User defaults from command line:
▸     IDEPackageSupportUseBuiltinSCM = YES
▸ --- xcodebuild: WARNING: Using the first of multiple matching destinations:
▸ { platform:iOS, id:dvtdevice-DVTiPhonePlaceholder-iphoneos:placeholder, name:Any iOS Device }
▸ { platform:iOS Simulator, id:dvtdevice-DVTiOSDeviceSimulatorPlaceholder-iphonesimulator:placeholder, name:Any iOS Simulator Device }
▸ { platform:iOS Simulator, id:12DF1F1F-6206-4BDD-A49F-A0D3456DF497, OS:16.0, name:iPad (9th generation) }
▸ { platform:iOS Simulator, id:45E053AA-59FB-41B7-8DCA-2B11D2392A47, OS:16.0, name:iPad Air (5th generation) }
▸ { platform:iOS Simulator, id:7D6C0D20-8EEC-4074-9347-4F2DED6B610C, OS:16.0, name:iPad Pro (11-inch) (3rd generation) }
▸ { platform:iOS Simulator, id:A30864C0-A249-427B-B2F5-02B94465B342, OS:16.0, name:iPad Pro (12.9-inch) (5th generation) }
▸ { platform:iOS Simulator, id:823E8F2B-3928-438B-877F-E57CBB4D4227, OS:16.0, name:iPad mini (6th generation) }
▸ { platform:iOS Simulator, id:E4F0A83E-5E75-4C8A-A871-796043E2CD97, OS:16.0, name:iPhone 14 }
▸ { platform:iOS Simulator, id:8CF852C2-D053-4020-A861-01D707EE7C7B, OS:16.0, name:iPhone 14 Plus }
▸ { platform:iOS Simulator, id:FE2944BA-74BD-416E-93BB-3DC56388EF16, OS:16.0, name:iPhone 14 Pro }
▸ { platform:iOS Simulator, id:DD553D4E-CD22-4A2B-B095-50D480238D15, OS:16.0, name:iPhone 14 Pro Max }
▸ { platform:iOS Simulator, id:1F7C3904-A8F9-44F2-B6D0-31F51493EA22, OS:16.0, name:iPhone SE (3rd generation) }
▸ resolved source packages:
$ xcodebuild -showBuildSettings -workspace ./mqttdemo.xcworkspace -scheme mqttdemo -configuration Release
[stderr] --- xcodebuild: WARNING: Using the first of multiple matching destinations:
[stderr] { platform:iOS, id:dvtdevice-DVTiPhonePlaceholder-iphoneos:placeholder, name:Any iOS Device }
[stderr] { platform:iOS Simulator, id:dvtdevice-DVTiOSDeviceSimulatorPlaceholder-iphonesimulator:placeholder, name:Any iOS Simulator Device }
[stderr] { platform:iOS Simulator, id:12DF1F1F-6206-4BDD-A49F-A0D3456DF497, OS:16.0, name:iPad (9th generation) }
[stderr] { platform:iOS Simulator, id:45E053AA-59FB-41B7-8DCA-2B11D2392A47, OS:16.0, name:iPad Air (5th generation) }
[stderr] { platform:iOS Simulator, id:7D6C0D20-8EEC-4074-9347-4F2DED6B610C, OS:16.0, name:iPad Pro (11-inch) (3rd generation) }
[stderr] { platform:iOS Simulator, id:A30864C0-A249-427B-B2F5-02B94465B342, OS:16.0, name:iPad Pro (12.9-inch) (5th generation) }
[stderr] { platform:iOS Simulator, id:823E8F2B-3928-438B-877F-E57CBB4D4227, OS:16.0, name:iPad mini (6th generation) }
[stderr] { platform:iOS Simulator, id:E4F0A83E-5E75-4C8A-A871-796043E2CD97, OS:16.0, name:iPhone 14 }
[stderr] { platform:iOS Simulator, id:8CF852C2-D053-4020-A861-01D707EE7C7B, OS:16.0, name:iPhone 14 Plus }
[stderr] { platform:iOS Simulator, id:FE2944BA-74BD-416E-93BB-3DC56388EF16, OS:16.0, name:iPhone 14 Pro }
[stderr] { platform:iOS Simulator, id:DD553D4E-CD22-4A2B-B095-50D480238D15, OS:16.0, name:iPhone 14 Pro Max }
[stderr] { platform:iOS Simulator, id:1F7C3904-A8F9-44F2-B6D0-31F51493EA22, OS:16.0, name:iPhone SE (3rd generation) }
Command timed out after 3 seconds on try 1 of 4, trying again with a 6 second timeout...
[stderr] --- xcodebuild: WARNING: Using the first of multiple matching destinations:
[stderr] { platform:iOS, id:dvtdevice-DVTiPhonePlaceholder-iphoneos:placeholder, name:Any iOS Device }
[stderr] { platform:iOS Simulator, id:dvtdevice-DVTiOSDeviceSimulatorPlaceholder-iphonesimulator:placeholder, name:Any iOS Simulator Device }
[stderr] { platform:iOS Simulator, id:12DF1F1F-6206-4BDD-A49F-A0D3456DF497, OS:16.0, name:iPad (9th generation) }
[stderr] { platform:iOS Simulator, id:45E053AA-59FB-41B7-8DCA-2B11D2392A47, OS:16.0, name:iPad Air (5th generation) }
[stderr] { platform:iOS Simulator, id:7D6C0D20-8EEC-4074-9347-4F2DED6B610C, OS:16.0, name:iPad Pro (11-inch) (3rd generation) }
[stderr] { platform:iOS Simulator, id:A30864C0-A249-427B-B2F5-02B94465B342, OS:16.0, name:iPad Pro (12.9-inch) (5th generation) }
[stderr] { platform:iOS Simulator, id:823E8F2B-3928-438B-877F-E57CBB4D4227, OS:16.0, name:iPad mini (6th generation) }
[stderr] { platform:iOS Simulator, id:E4F0A83E-5E75-4C8A-A871-796043E2CD97, OS:16.0, name:iPhone 14 }
[stderr] { platform:iOS Simulator, id:8CF852C2-D053-4020-A861-01D707EE7C7B, OS:16.0, name:iPhone 14 Plus }
[stderr] { platform:iOS Simulator, id:FE2944BA-74BD-416E-93BB-3DC56388EF16, OS:16.0, name:iPhone 14 Pro }
[stderr] { platform:iOS Simulator, id:DD553D4E-CD22-4A2B-B095-50D480238D15, OS:16.0, name:iPhone 14 Pro Max }
[stderr] { platform:iOS Simulator, id:1F7C3904-A8F9-44F2-B6D0-31F51493EA22, OS:16.0, name:iPhone SE (3rd generation) }
[stderr] 2023-01-14 04:16:01.614 xcodebuild[4078:11274] Requested but did not find extension point with identifier Xcode.InterfaceBuilderBuildSupport.PlatformDefinition
[stderr] 2023-01-14 04:16:01.754 xcodebuild[4088:11327] Requested but did not find extension point with identifier Xcode.InterfaceBuilderBuildSupport.PlatformDefinition

Hey @jensa, I’m still working on this. Please let me know if you find a solution.

1 Like

Here are my dependencies:

  "dependencies": {
    "@apollo/client": "^3.6.0-beta.5",
    "@expo-google-fonts/lato": "^0.2.2",
    "@expo/config-plugins": "^5.0.0",
    "@expo/match-media": "^0.3.0",
    "@formatjs/intl-datetimeformat": "^4.5.1",
    "@formatjs/intl-displaynames": "^5.4.1",
    "@formatjs/intl-getcanonicallocales": "^1.9.0",
    "@formatjs/intl-listformat": "^6.5.1",
    "@formatjs/intl-locale": "^2.4.44",
    "@formatjs/intl-numberformat": "^7.4.1",
    "@formatjs/intl-pluralrules": "^4.3.1",
    "@formatjs/intl-relativetimeformat": "^9.5.1",
    "@mdi/js": "^6.9.96",
    "@react-native-async-storage/async-storage": "~1.17.3",
    "@react-navigation/native": "^6.0.13",
    "@react-navigation/native-stack": "^6.6.2",
    "@react-navigation/stack": "^6.3.4",
    "@stripe/react-stripe-js": "^1.10.0",
    "@stripe/stripe-js": "^1.34.0",
    "@stripe/stripe-react-native": "0.19.0",
    "@types/react": "^18.0.20",
    "@types/react-native": "~0.70.6",
    "apollo-link": "^1.2.14",
    "apollo-link-error": "^1.1.13",
    "apollo-link-timeout": "^4.0.0",
    "apollo-upload-client": "^16.0.0",
    "async": "^3.2.4",
    "base-64": "^1.0.0",
    "csv": "^6.2.0",
    "deprecated-react-native-prop-types": "^2.3.0",
    "detox-expo-helpers": "^0.6.0",
    "eas-cli": "^3.3.2",
    "emoji-picker-react": "^4.4.7",
    "expo": "^47.0.13",
    "expo-application": "~5.0.1",
    "expo-asset": "~8.7.0",
    "expo-constants": "~14.0.2",
    "expo-credit-card": "^0.0.5",
    "expo-dev-client": "~2.0.1",
    "expo-device": "~5.0.0",
    "expo-document-picker": "~11.0.1",
    "expo-file-system": "~15.1.1",
    "expo-font": "~11.0.1",
    "expo-intent-launcher": "~10.3.0",
    "expo-linking": "~3.3.0",
    "expo-localization": "~14.0.0",
    "expo-modules-core": "~1.0.3",
    "expo-notifications": "~0.17.0",
    "expo-screen-orientation": "~5.0.1",
    "expo-secure-store": "~12.0.0",
    "expo-sharing": "~11.0.1",
    "expo-splash-screen": "~0.17.5",
    "expo-status-bar": "~1.4.2",
    "expo-updates": "~0.15.6",
    "expo-web-browser": "~12.0.0",
    "file-saver": "^2.0.5",
    "firebase": "^9.6.10",
    "graphql": "^15.5.1",
    "graphql-tag": "^2.12.5",
    "graphql-ws": "^5.6.4",
    "jest": "^26.6.3",
    "lodash": "^4.17.21",
    "metro-config": "^0.67.0",
    "moment": "^2.29.3",
    "parsecurrency": "^1.0.1",
    "patch-package": "^6.4.7",
    "postinstall-postinstall": "^2.1.0",
    "prop-types": "^15.7.2",
    "react": "18.1.0",
    "react-apollo-network-status": "^5.1.0",
    "react-currency-format": "^1.1.0",
    "react-dev-utils": "^12.0.1",
    "react-devtools-core": "^4.26.0",
    "react-dom": "18.1.0",
    "react-error-overlay": "^6.0.11",
    "react-hook-form": "^7.10.1",
    "react-moment": "^1.1.1",
    "react-native": "0.70.5",
    "react-native-animation-library": "^0.0.8",
    "react-native-app-link": "^1.0.1",
    "react-native-autocomplete-dropdown": "^1.1.5",
    "react-native-dotenv": "^3.4.2",
    "react-native-emoji-selector": "^0.2.0",
    "react-native-error-boundary": "^1.1.12",
    "react-native-flash-message": "^0.1.23",
    "react-native-format-currency": "^0.0.3",
    "react-native-gesture-handler": "~2.8.0",
    "react-native-global-state-hooks": "^1.1.6",
    "react-native-google-places-autocomplete": "^2.4.1",
    "react-native-hyperlink": "^0.0.22",
    "react-native-keyboard-aware-scroll-view": "^0.9.5",
    "react-native-mime-types": "^2.3.0",
    "react-native-pager-view": "6.0.1",
    "react-native-paper": "^4.12.1",
    "react-native-paper-dates": "^0.4.6",
    "react-native-paper-dropdown": "^1.0.7",
    "react-native-paper-form-builder": "^2.1.2",
    "react-native-paper-tabs": "^0.7.0",
    "react-native-ratings": "^8.1.0",
    "react-native-reanimated": "~2.12.0",
    "react-native-safe-area-context": "4.4.1",
    "react-native-screens": "~3.18.0",
    "react-native-snap-carousel": "^3.9.1",
    "react-native-svg": "13.4.0",
    "react-native-uuid": "^2.0.1",
    "react-native-vector-icons": "^9.2.0",
    "react-native-web": "~0.18.7",
    "react-responsive": "^9.0.0-beta.6",
    "react-usestateref": "^1.0.8",
    "rn-emoji-keyboard": "^0.7.1",
    "sentry-expo": "~6.0.0",
    "standard-version": "^9.5.0",
    "standard-version-expo": "^1.0.3",
    "uuidv4": "^6.2.13"
  },
  "devDependencies": {
    "@babel/core": "^7.20.2",
    "@babel/eslint-parser": "^7.19.1",
    "@expo/ngrok": "^4.1.0",
    "@expo/webpack-config": "~0.16.21",
    "@graphql-eslint/eslint-plugin": "^3.7.0",
    "@react-native-community/eslint-config": "^3.0.1",
    "babel-eslint": "^10.1.0",
    "babel-plugin-module-resolver": "^4.1.0",
    "babel-plugin-transform-inline-environment-variables": "^0.4.4",
    "babel-preset-expo": "^9.2.2",
    "detox": "^18.20.0",
    "enzyme": "^3.11.0",
    "eslint": "^8.11.0",
    "eslint-config-airbnb": "^19.0.4",
    "eslint-plugin-detox": "^1.0.0",
    "eslint-plugin-flowtype": "8.0.3",
    "eslint-plugin-import": "^2.25.4",
    "eslint-plugin-jsx-a11y": "^6.5.1",
    "eslint-plugin-react": "^7.29.4",
    "eslint-plugin-react-hooks": "^4.3.0",
    "eslint-plugin-react-native": "^4.0.0",
    "expo-detox-hook": "*",
    "jest-circus": "^27.0.6",
    "jest-expo": "^45.0.0",
    "react-native-testing-library": "^6.0.0",
    "react-test-renderer": "17",
    "selenium-webdriver": "^4.4.0"
  },
  "detox": {
    "configurations": {
      "ios.sim": {
        "binaryPath": "bin/Exponent.app",
        "type": "ios.simulator",
        "name": "iPhone 11"
      }
    }
  },
  "private": true,
  "jest": {
    "preset": "jest-expo",
    "setupFiles": [
      "./jestSetupFile.js"
    ],
    "transformIgnorePatterns": [
      "node_modules/(?!((jest-)?react-native|@react-native(-community)?)|expo(nent)?|@expo(nent)?/.*|@expo-google-fonts/.*|react-navigation|@react-navigation/.*|@unimodules/.*|unimodules|sentry-expo|@sentry/*|native-base|react-native-svg)"
    ]
  },
  "resolutions": {
    "@babel/core": "^7.20.2",
    "babel-loader": "8.3.0"
  }```

OK… I had to backtrack to a while back: Expo 46.0.15. I had not submitted to the app store in a while and was using Expo Go with no issues. So I do not know when the project went off the rails. Here are the package.json dependencies that seems to work:

  "dependencies": {
    "@apollo/client": "^3.6.0-beta.5",
    "@expo-google-fonts/lato": "^0.2.2",
    "@expo/config-plugins": "^5.0.0",
    "@expo/dev-server": "0.1.120",
    "@expo/match-media": "^0.3.0",
    "@formatjs/intl-datetimeformat": "^4.5.1",
    "@formatjs/intl-displaynames": "^5.4.1",
    "@formatjs/intl-getcanonicallocales": "^1.9.0",
    "@formatjs/intl-listformat": "^6.5.1",
    "@formatjs/intl-locale": "^2.4.44",
    "@formatjs/intl-numberformat": "^7.4.1",
    "@formatjs/intl-pluralrules": "^4.3.1",
    "@formatjs/intl-relativetimeformat": "^9.5.1",
    "@mdi/js": "^6.9.96",
    "@react-native-async-storage/async-storage": "~1.17.3",
    "@react-navigation/native": "^6.0.10",
    "@react-navigation/native-stack": "^6.6.2",
    "@react-navigation/stack": "^6.1.1",
    "@stripe/react-stripe-js": "^1.10.0",
    "@stripe/stripe-js": "^1.34.0",
    "@stripe/stripe-react-native": "0.13.1",
    "@types/react": "^18.0.20",
    "@types/react-native": "~0.69.1",
    "apollo-link": "^1.2.14",
    "apollo-link-error": "^1.1.13",
    "apollo-link-timeout": "^4.0.0",
    "apollo-upload-client": "^16.0.0",
    "async": "^3.2.4",
    "base-64": "^1.0.0",
    "csv": "^6.2.0",
    "deprecated-react-native-prop-types": "^2.3.0",
    "detox-expo-helpers": "^0.6.0",
    "eas-cli": "^3.3.2",
    "expo": "^46.0.15",
    "expo-application": "~4.2.2",
    "expo-constants": "~13.2.4",
    "expo-credit-card": "^0.0.5",
    "expo-device": "~4.3.0",
    "expo-document-picker": "~10.3.0",
    "expo-file-system": "~14.1.0",
    "expo-font": "~10.2.0",
    "expo-linking": "~3.2.2",
    "expo-localization": "~13.1.0",
    "expo-modules-core": "~0.11.8",
    "expo-notifications": "~0.16.1",
    "expo-screen-orientation": "~4.3.0",
    "expo-secure-store": "~11.3.0",
    "expo-sharing": "^10.3.0",
    "expo-splash-screen": "~0.16.2",
    "expo-status-bar": "~1.4.0",
    "expo-updates": "~0.14.6",
    "expo-web-browser": "~11.0.0",
    "firebase": "^9.6.10",
    "graphql": "^15.5.1",
    "graphql-tag": "^2.12.5",
    "graphql-ws": "^5.6.4",
    "jest": "^26.6.3",
    "lodash": "^4.17.21",
    "metro-config": "^0.67.0",
    "moment": "^2.29.3",
    "patch-package": "^6.4.7",
    "postinstall-postinstall": "^2.1.0",
    "prop-types": "^15.7.2",
    "react": "18.0.0",
    "react-apollo-network-status": "^5.1.0",
    "react-currency-format": "^1.1.0",
    "react-dom": "18.0.0",
    "react-error-overlay": "^6.0.11",
    "react-hook-form": "^7.10.1",
    "react-moment": "^1.1.1",
    "react-native": "0.69.6",
    "react-native-animation-library": "^0.0.8",
    "react-native-app-link": "^1.0.1",
    "react-native-autocomplete-dropdown": "^1.1.5",
    "react-native-dotenv": "^3.4.2",
    "react-native-emoji-selector": "^0.2.0",
    "react-native-error-boundary": "^1.1.12",
    "react-native-flash-message": "^0.1.23",
    "react-native-format-currency": "^0.0.3",
    "react-native-gesture-handler": "~2.5.0",
    "react-native-global-state-hooks": "^1.1.6",
    "react-native-google-places-autocomplete": "^2.4.1",
    "react-native-hyperlink": "^0.0.22",
    "react-native-keyboard-aware-scroll-view": "^0.9.5",
    "react-native-mime-types": "^2.3.0",
    "react-native-pager-view": "5.4.24",
    "react-native-paper": "^4.12.1",
    "react-native-paper-dates": "^0.4.6",
    "react-native-paper-dropdown": "^1.0.7",
    "react-native-paper-form-builder": "^2.1.2",
    "react-native-paper-tabs": "^0.7.0",
    "react-native-ratings": "^8.1.0",
    "react-native-reanimated": "~2.9.1",
    "react-native-safe-area-context": "4.3.1",
    "react-native-screens": "~3.15.0",
    "react-native-snap-carousel": "^3.9.1",
    "react-native-uuid": "^2.0.1",
    "react-native-vector-icons": "^9.2.0",
    "react-native-web": "~0.18.7",
    "react-responsive": "^9.0.0-beta.6",
    "react-usestateref": "^1.0.8",
    "sentry-expo": "^5.0.3",
    "standard-version": "^9.5.0",
    "standard-version-expo": "^1.0.3",
    "uuidv4": "^6.2.13"
  },
  "devDependencies": {
    "@babel/core": "^7.20.2",
    "@babel/eslint-parser": "^7.19.1",
    "@expo/ngrok": "^4.1.0",
    "@expo/webpack-config": "~0.16.21",
    "@graphql-eslint/eslint-plugin": "^3.7.0",
    "@react-native-community/eslint-config": "^3.0.1",
    "babel-eslint": "^10.1.0",
    "babel-plugin-module-resolver": "^4.1.0",
    "babel-plugin-transform-inline-environment-variables": "^0.4.4",
    "babel-preset-expo": "^9.2.2",
    "detox": "^18.20.0",
    "enzyme": "^3.11.0",
    "eslint": "^8.11.0",
    "eslint-config-airbnb": "^19.0.4",
    "eslint-plugin-detox": "^1.0.0",
    "eslint-plugin-flowtype": "8.0.3",
    "eslint-plugin-import": "^2.25.4",
    "eslint-plugin-jsx-a11y": "^6.5.1",
    "eslint-plugin-react": "^7.29.4",
    "eslint-plugin-react-hooks": "^4.3.0",
    "eslint-plugin-react-native": "^4.0.0",
    "expo-detox-hook": "*",
    "jest-circus": "^27.0.6",
    "jest-expo": "^45.0.0",
    "react-test-renderer": "17"
  },
  "detox": {
    "configurations": {
      "ios.sim": {
        "binaryPath": "bin/Exponent.app",
        "type": "ios.simulator",
        "name": "iPhone 11"
      }
    }
  },
  "private": true,
  "resolutions": {
    "@babel/core": "^7.20.2",
    "babel-loader": "8.3.0"
  }

Hi @dk253

You should remove this from here and just have it installed globally. It can cause problems if you install it as a dependency.

Do you need this? I suspect you don’t need to install it explicitly.

Same with this.

Probably this too.

Is this a managed app? Or bare? If managed I don’t think you want this installed explicitly.

Thanks so much, @wodin . I removed eas-cli, @expo/config-plugins, and expo-modules-core. I kept expo-application because I use it to check versions in my app.

I had to add back in @expo/dev-server “0.1.120” because the web app complained:
Error: Cannot find module '@expo/dev-server/build/webpack/symbolicateMiddleware'. Version 0.1.123 has problems for me.

Now I am slowly working back to upgrading expo and react-native. It is very slow because I have to add a piece at a time and I don’t know if it breaks until I send it to the apple store.

When I run eas build -p ios --local it ends with an error about pods:
[INSTALL_PODS] [!] Invalid Podfilefile: undefined methodexists?’ for File:Class.`

I suspect this has to do with the fact that my project is Managed.

But when I run eas build -p ios --profile=production --auto-submit-with-profile=production it takes a long time:

Waiting in Free tier queue | starting in about 180 minutes...

Someday I will afford the non-free tier. :slight_smile:

:astonished:

I haven’t tried running the web version of an app recently, but that’s surprising.

I suggest you try building “preview” builds instead. Then you can install it directly on your phone instead of submitting it to the App Store. It won’t help with the build queue time, though :confused:

Switching to an M1 build instance might help a bit. Worth a try anyway, I think:

Do you mean installing dependencies one at a time? If so, I assume you tried with all of them at once and it failed? You could possibly try a binary search/bisection approach. e.g. install half of the dependencies and try building. If that fails, try the other half instead. (Obviously you will need some common ones like react-native, expo, etc. always.) Once you have found the first half that works, divide the remaining ones in half and install the first half. If that works you now have about three quarters working. Otherwise try the other half of the remaining ones. etc. I hope my explanation is clear enough. If you can do that then it will drastically cut down on the number of builds.

Once you have the native code building you can worry about adding the JavaScript.

Strange. Given that it works on the build servers, I wonder if you have an old version of Ruby installed or something like that.

No, you should definitely be able to build a managed app locally. The only difference between the way a managed app and a bare app are built is that npx expo prebuild is run for the managed app before building the native code. (See Step 8 of the Remote Steps here: iOS build process - Expo Documentation and “Remote Steps” really just means “in a temporary directory” when you’re using eas build --local)

Ouch

  1. Have not tried the preview thing… WIll look into it.
  2. The M1 Build did the trick! No wasted time waiting for the queue. Thanks!
  3. I just tried the expo-cli upgrade and am now doing the build again. Fingers crossed!
  4. I don’t know anything about ruby:
$ which ruby
$ /usr/local/opt/ruby/bin/ruby
$ ruby --version
$ ruby 3.0.2p107 (2021-07-07 revision 0db68f0233) [x86_64-darwin20]
$ /usr/bin/ruby --version
$ ruby 2.6.10p210 (2022-04-12 revision 67958) [universal.arm64e-darwin22]

Thanks @wodin !

So I ran expo-cli upgrade then tried the build and got the error. So something in the following diff is causing issues:

40,42c40,42
<     "@stripe/stripe-react-native": "0.19.0",
<     "@types/react": "~18.0.24",
<     "@types/react-native": "~0.70.6",
---
>     "@stripe/stripe-react-native": "0.13.1",
>     "@types/react": "^18.0.20",
>     "@types/react-native": "~0.69.1",
52,54c52,54
<     "expo": "^47.0.0",
<     "expo-application": "~5.0.1",
<     "expo-constants": "~14.0.2",
---
>     "expo": "^46.0.15",
>     "expo-application": "~4.2.2",
>     "expo-constants": "~13.2.4",
56,69c56,69
<     "expo-device": "~5.0.0",
<     "expo-document-picker": "~11.0.1",
<     "expo-file-system": "~15.1.1",
<     "expo-font": "~11.0.1",
<     "expo-linking": "~3.3.0",
<     "expo-localization": "~14.0.0",
<     "expo-notifications": "~0.17.0",
<     "expo-screen-orientation": "~5.0.1",
<     "expo-secure-store": "~12.0.0",
<     "expo-sharing": "~11.0.1",
<     "expo-splash-screen": "~0.17.5",
<     "expo-status-bar": "~1.4.2",
<     "expo-updates": "~0.15.6",
<     "expo-web-browser": "~12.0.0",
---
>     "expo-device": "~4.3.0",
>     "expo-document-picker": "~10.3.0",
>     "expo-file-system": "~14.1.0",
>     "expo-font": "~10.2.0",
>     "expo-linking": "~3.2.2",
>     "expo-localization": "~13.1.0",
>     "expo-notifications": "~0.16.1",
>     "expo-screen-orientation": "~4.3.0",
>     "expo-secure-store": "~11.3.0",
>     "expo-sharing": "^10.3.0",
>     "expo-splash-screen": "~0.16.2",
>     "expo-status-bar": "~1.4.0",
>     "expo-updates": "~0.14.6",
>     "expo-web-browser": "~11.0.0",
81c81
<     "react": "18.1.0",
---
>     "react": "18.0.0",
84c84
<     "react-dom": "18.1.0",
---
>     "react-dom": "18.0.0",
88c88
<     "react-native": "0.70.5",
---
>     "react-native": "0.69.6",
97c97
<     "react-native-gesture-handler": "~2.8.0",
---
>     "react-native-gesture-handler": "~2.5.0",
103c103
<     "react-native-pager-view": "6.0.1",
---
>     "react-native-pager-view": "5.4.24",
110,112c110,112
<     "react-native-reanimated": "~2.12.0",
<     "react-native-safe-area-context": "4.4.1",
<     "react-native-screens": "~3.18.0",
---
>     "react-native-reanimated": "~2.9.1",
>     "react-native-safe-area-context": "4.3.1",
>     "react-native-screens": "~3.15.0",
119c119
<     "sentry-expo": "~6.0.0",
---
>     "sentry-expo": "^5.0.3",
125c125
<     "@babel/core": "^7.19.3",
---
>     "@babel/core": "^7.20.2",
128c128
<     "@expo/webpack-config": "^0.17.2",
---
>     "@expo/webpack-config": "~0.16.21",
134c134
<     "babel-preset-expo": "~9.2.1",
---
>     "babel-preset-expo": "^9.2.2",
148c148
<     "jest-expo": "^47.0.0",
---
>     "jest-expo": "^45.0.0",

And here is the error:

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

❌  error: File /Users/expo/Library/Developer/Xcode/DerivedData/XXXX-dgxwrycopxcslebavplfhocdycau/Build/Intermediates.noindex/ArchiveIntermediates/XXXX/BuildProductsPath/Release-iphoneos/XXXX.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

    Run script build phase '[CP-User] Generate app.config for prebuilt Constants.manifest' will be run during every build because it does not specify any outputs. To address this warning, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'EXConstants' from project 'Pods')
▸ ** ARCHIVE FAILED **
▸ The following build commands failed:
▸ 	PhaseScriptExecution Bundle\ React\ Native\ code\ and\ images /Users/expo/Library/Developer/Xcode/DerivedData/XXXX-dgxwrycopxcslebavplfhocdycau/Build/Intermediates.noindex/ArchiveIntermediates/XXXX/IntermediateBuildFilesPath/XXXX.build/Release-iphoneos/XXXX.build/Script-00DD1BFF1BD5951E006B06BC.sh (in target 'XXXX' from project 'XXXX')
▸ (1 failure)
** ARCHIVE FAILED **
The following build commands failed:
	PhaseScriptExecution Bundle\ React\ Native\ code\ and\ images /Users/expo/Library/Developer/Xcode/DerivedData/XXXX-dgxwrycopxcslebavplfhocdycau/Build/Intermediates.noindex/ArchiveIntermediates/XXXX/IntermediateBuildFilesPath/XXXX.build/Release-iphoneos/XXXX.build/Script-00DD1BFF1BD5951E006B06BC.sh (in target 'XXXX' from project 'XXXX')
(1 failure)
Exit status: 65
+-------------+-------------------------+
|           Build environment           |
+-------------+-------------------------+
| xcode_path  | /Applications/Xcode.app |
| gym_version | 2.210.0                 |
| sdk         | iPhoneOS16.0.sdk        |
+-------------+-------------------------+

1 Like

The problem I have with doing a “binary search/bisection approach” is that I am not sure which expo packages will work with each other. The build worked with expo 46, and then I ran expo-cli upgrade, and it did not work. If anyone can give me some clues as to what packages I can upgrade without upgrading everything, I am all ears.

Thanks!

share a link to your build page?

Do you mean this? Log In — Expo

yup. notice in the last step of the build details it recommends downloading the full xcode logs. if you do that, then you’ll see this error in your build:

+ /Users/expo/workingdir/build/node_modules/@sentry/cli/sentry-cli /Users/expo/workingdir/build/node_modules/react-native/cli.js bundle --entry-file index.js --platform ios --dev false --reset-cache --bundle-output /Users/expo/Library/Developer/Xcode/DerivedData/Est8-dgxwrycopxcslebavplfhocdycau/Build/Intermediates.noindex/ArchiveIntermediates/Est8/BuildProductsPath/Release-iphoneos/main.jsbundle --assets-dest /Users/expo/Library/Developer/Xcode/DerivedData/Est8-dgxwrycopxcslebavplfhocdycau/Build/Intermediates.noindex/ArchiveIntermediates/Est8/BuildProductsPath/Release-iphoneos/Est8.app --sourcemap-output /Users/expo/Library/Developer/Xcode/DerivedData/Est8-dgxwrycopxcslebavplfhocdycau/Build/Intermediates.noindex/ArchiveIntermediates/Est8/IntermediateBuildFilesPath/Est8.build/Release-iphoneos/Est8.build/DerivedSources/main.jsbundle.map
warning: the transform cache was reset.
                Welcome to Metro v0.72.3
              Fast - Scalable - Integrated


error resolveDependencies: Found duplicate dependency key 'undefined' in /Users/expo/workingdir/build/index.js.
Error: resolveDependencies: Found duplicate dependency key 'undefined' in /Users/expo/workingdir/build/index.js
    at resolveDependencies (/Users/expo/workingdir/build/node_modules/@react-native-community/cli-plugin-metro/node_modules/metro/src/DeltaBundler/graphOperations.js:484:13)
    at processModule (/Users/expo/workingdir/build/node_modules/@react-native-community/cli-plugin-metro/node_modules/metro/src/DeltaBundler/graphOperations.js:232:31)
    at async traverseDependenciesForSingleFile (/Users/expo/workingdir/build/node_modules/@react-native-community/cli-plugin-metro/node_modules/metro/src/DeltaBundler/graphOperations.js:221:3)
    at async Promise.all (index 0)
    at async initialTraverseDependencies (/Users/expo/workingdir/build/node_modules/@react-native-community/cli-plugin-metro/node_modules/metro/src/DeltaBundler/graphOperations.js:204:3)
    at async DeltaCalculator._getChangedDependencies (/Users/expo/workingdir/build/node_modules/@react-native-community/cli-plugin-metro/node_modules/metro/src/DeltaBundler/DeltaCalculator.js:208:25)
    at async DeltaCalculator.getDelta (/Users/expo/workingdir/build/node_modules/@react-native-community/cli-plugin-metro/node_modules/metro/src/DeltaBundler/DeltaCalculator.js:90:16)
    at async DeltaBundler.buildGraph (/Users/expo/workingdir/build/node_modules/@react-native-community/cli-plugin-metro/node_modules/metro/src/DeltaBundler.js:56:5)
    at async IncrementalBundler.buildGraphForEntries (/Users/expo/workingdir/build/node_modules/@react-native-community/cli-plugin-metro/node_modules/metro/src/IncrementalBundler.js:81:19)
    at async IncrementalBundler.buildGraph (/Users/expo/workingdir/build/node_modules/@react-native-community/cli-plugin-metro/node_modules/metro/src/IncrementalBundler.js:161:19)
    at async Server.build (/Users/expo/workingdir/build/node_modules/@react-native-community/cli-plugin-metro/node_modules/metro/src/Server.js:138:32)
    at async buildBundleWithConfig (/Users/expo/workingdir/build/node_modules/@react-native-community/cli-plugin-metro/build/commands/bundle/buildBundle.js:111:20)
    at async Command.handleAction (/Users/expo/workingdir/build/node_modules/@react-native-community/cli/build/index.js:142:9)

hopefully that helps. you can then find related issue reports about this: Yarn workspaces expo amplify, Error: resolveDependencies: Found duplicate dependency key 'undefined' in · Issue #857 · facebook/metro · GitHub

Ahhh… ok… I saw that but assumed the xcode log was in the log. Not sure where to download the full xcode logs.

Wait! Don’t answer that. Now I’m embarrassed to say I just looked at the end of the build.

i think we could do more to make this more obvious!

No problem. The M1 instances are still new, so not many people will be using them yet.

I don’t know much about Pod, so I can’t say for sure whether your Ruby situation is causing problems, but maybe try with the system Ruby first in the path. e.g.:

PATH=/usr/bin:$PATH eas build -p ios --local

I’m much more comfortable with unified diffs. Also the old version should normally go on the left. Something like this :slight_smile:

diff -u package.json.old package.json

Or if you have made the changes in Git, but have not yet committed:

git diff -- package.json

etc.

But if I install the packages listed in your diff in a new Expo SDK 47 app with npx expo install ... then I get the following:

  "dependencies": {
    "@stripe/stripe-react-native": "0.19.0",
    "@types/react": "~18.0.24",
    "@types/react-native": "~0.70.6",
    "expo": "^47.0.0",
    "expo-application": "~5.0.1",
    "expo-constants": "~14.0.2",
    "expo-device": "~5.0.0",
    "expo-document-picker": "~11.0.1",
    "expo-file-system": "~15.1.1",
    "expo-font": "~11.0.1",
    "expo-linking": "~3.3.0",
    "expo-localization": "~14.0.0",
    "expo-notifications": "~0.17.0",
    "expo-screen-orientation": "~5.0.1",
    "expo-secure-store": "~12.0.0",
    "expo-sharing": "~11.0.1",
    "expo-splash-screen": "~0.17.5",
    "expo-status-bar": "~1.4.2",
    "expo-updates": "~0.15.6",
    "expo-web-browser": "~12.0.0",
    "react": "18.1.0",
    "react-dom": "18.1.0",
    "react-native": "0.70.5",
    "react-native-gesture-handler": "~2.8.0",
    "react-native-pager-view": "6.0.1",
    "react-native-reanimated": "~2.12.0",
    "react-native-safe-area-context": "4.4.1",
    "react-native-screens": "~3.18.0",
    "react-native-web": "~0.18.7",
    "sentry-expo": "~6.0.0"
  },
  "devDependencies": {
    "@babel/core": "^7.19.3",
    "@expo/webpack-config": "^0.17.2",
    "jest": "^26.6.3",
    "jest-expo": "^47.0.1"
  },

Differences I see from yours:

  • Yours has no mention of “jest”, despite having “jest-expo”. Maybe because the version didn’t change, so it didn’t show up in the diff? This is where a unified diff helps, because it includes some context.
  • Yours has no mention of “react-native-web”, despite having “react-dom”. Possibly same situation as above.
  • Yours has “babel-preset-expo”. You can get rid of this.

I was able to build the app with the above dependencies without errors.

Based on the Metro issue that Brent linked to, it seems like your build issue might have something to do with peer dependencies and the way npm handles them. Or possibly yarn 3. I didn’t try too hard to understand the whole thread, but FYI, I used yarn 1 to install the dependencies.

Ah yes, I would not recommend that approach for trying to upgrade an app in place.

What I mean is, for the purposes of working out what’s wrong or what packages might be conflicting, you could create a new Expo app (with no additional dependencies).
Then you can divide the extra dependencies you want to install in half and try installing the first half. etc.
If you have something that needs other things to be installed alongside it (e.g. React Navigation + react-native-screens and react-native-safe-area-context) then you should probably treat that as one thing.

After you’ve figured out what’s wrong and hopefully fixed it, you can apply those changes to your actual app. Or else you can use this minimal new app as a reproduction recipe when writing a bug report.