Search code examples
react-nativeexpococoapodsxcode14eas

EAS local builds not working with Xcode 14


I believe this is what's happening:

My MacOS system updated and subsequently, Xcode was updated to version 14. Ever since that happened my eas local builds no longer complete successfully. Submitting builds to the eas build system still works, but the queue can take a really long time so it removes any kind of quick feedback when I need to build an .ipa to install on a real device.

This is the error message I am getting.

[RUN_FASTLANE] Please file a bug at https://feedbackassistant.apple.com with this warning message and any useful information you can provide.
[RUN_FASTLANE] 2022-09-15 23:36:18.227 xcodebuild[29486:925103]  DVTAssertions: Warning in /System/Volumes/Data/SWE/Apps/DT/BuildRoots/BuildRoot2/ActiveBuildRoot/Library/Caches/com.apple.xbs/Sources/DVTiOSFrameworks/DVTiOSFrameworks-21157/DTDeviceKitBase/DTDKRemoteDeviceData.m:382
[RUN_FASTLANE] Details:  (null) deviceType from 00008006-000924391E47002E was NULL when -platform called.
[RUN_FASTLANE] Object:   <DTDKMobileDeviceToken: 0x11640b0d0>
[RUN_FASTLANE] Method:   -platform
[RUN_FASTLANE] Thread:   <NSThread: 0x600000aa0980>{number = 2, name = (null)}
[RUN_FASTLANE] Please file a bug at https://feedbackassistant.apple.com with this warning message and any useful information you can provide.
[RUN_FASTLANE] Command timed out after 6 seconds on try 2 of 4, trying again with a 12 second timeout...
[RUN_FASTLANE] 2022-09-15 23:36:22.240 xcodebuild[29486:925141] Requested but did not find extension point with identifier Xcode.InterfaceBuilderBuildSupport.PlatformDefinition
[RUN_FASTLANE] 2022-09-15 23:36:22.240 xcodebuild[29483:925080] Requested but did not find extension point with identifier Xcode.InterfaceBuilderBuildSupport.PlatformDefinition
[RUN_FASTLANE] --- xcodebuild: WARNING: Using the first of multiple matching destinations:
[RUN_FASTLANE] { platform:macOS, arch:arm64, variant:Designed for [iPad,iPhone], id:00006000-000A103126E2801E }
[RUN_FASTLANE] { platform:iOS, id:dvtdevice-DVTiPhonePlaceholder-iphoneos:placeholder, name:Any iOS Device }
[RUN_FASTLANE] { platform:iOS Simulator, id:dvtdevice-DVTiOSDeviceSimulatorPlaceholder-iphonesimulator:placeholder, name:Any iOS Simulator Device }
[RUN_FASTLANE] { platform:iOS Simulator, id:7AD07A6C-05A5-45D7-AE11-C35A755B9BC5, OS:16.0, name:iPhone 14 }
[RUN_FASTLANE] { platform:iOS Simulator, id:413A72BF-7FAA-4A35-B1BA-83DDA8479F7B, OS:16.0, name:iPhone 14 Plus }
[RUN_FASTLANE] { platform:iOS Simulator, id:5E5073DE-9CD5-42E1-8588-D2697E266A77, OS:16.0, name:iPhone 14 Pro }
[RUN_FASTLANE] { platform:iOS Simulator, id:71F46718-DE91-474D-BDA2-9BEE5239A97C, OS:16.0, name:iPhone 14 Pro Max }
[RUN_FASTLANE] { platform:iOS Simulator, id:F3D3CB98-3292-432C-B406-6FDE511CF164, OS:16.0, name:iPhone SE (3rd generation) }
[RUN_FASTLANE] { platform:iOS Simulator, id:7087853B-DF5B-4A63-8C54-ECFBCC9663C8, OS:16.0, name:iPad (9th generation) }
[RUN_FASTLANE] { platform:iOS Simulator, id:BB7BF18B-9A64-4BE1-92F8-7CD5054588BC, OS:16.0, name:iPad Air (5th generation) }
[RUN_FASTLANE] { platform:iOS Simulator, id:60617E87-ED2D-4796-88D2-9B7E12067B07, OS:16.0, name:iPad Pro (11-inch) (3rd generation) }
[RUN_FASTLANE] { platform:iOS Simulator, id:5300781D-B8BA-46E7-B680-182C3A72CC64, OS:16.0, name:iPad Pro (12.9-inch) (5th generation) }
[RUN_FASTLANE] { platform:iOS Simulator, id:349A49C6-E9B7-4B05-925E-DB65DC81FED1, OS:16.0, name:iPad mini (6th generation) }
[RUN_FASTLANE] 2022-09-15 23:36:27.954 xcodebuild[29521:925357] Requested but did not find extension point with identifier Xcode.InterfaceBuilderBuildSupport.PlatformDefinition
[RUN_FASTLANE] Detected provisioning profile mapping: {:"com.lifenightsinc.mytally"=>"fafe1a95-dbec-4868-8f66-e9dcd10adc88"}
[RUN_FASTLANE] 
[RUN_FASTLANE] +--------------------------------------+--------------------------------------+
[RUN_FASTLANE] |                           Summary for gym 2.208.0                           |
[RUN_FASTLANE] +--------------------------------------+--------------------------------------+
[RUN_FASTLANE] | workspace                            | ./MyTally.xcworkspace                |
[RUN_FASTLANE] | scheme                               | MyTally                              |
[RUN_FASTLANE] | clean                                | false                                |
[RUN_FASTLANE] | output_directory                     | ./build                              |
[RUN_FASTLANE] | output_name                          | MyTally                              |
[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  | fafe1a95-dbec-4868-8f66-e9dcd10adc8  |
[RUN_FASTLANE] | .com.lifenightsinc.mytally           | 8                                    |
[RUN_FASTLANE] | export_xcargs                        | OTHER_CODE_SIGN_FLAGS="--keychain    |
[RUN_FASTLANE] |                                      | /var/folders/4z/kv22yhfn6597k5l99c2  |
[RUN_FASTLANE] |                                      | smvm40000gn/T/turtle-v2-a56d594c-4c  |
[RUN_FASTLANE] |                                      | a2-4011-a088-76e19d9df995.keychain"  |
[RUN_FASTLANE] | build_path                           | /Users/umerkiani/Library/Developer/  |
[RUN_FASTLANE] |                                      | Xcode/Archives/2022-09-15            |
[RUN_FASTLANE] | result_bundle                        | false                                |
[RUN_FASTLANE] | buildlog_path                        | /var/folders/4z/kv22yhfn6597k5l99c2  |
[RUN_FASTLANE] |                                      | smvm40000gn/T/eas-build-local-nodej  |
[RUN_FASTLANE] |                                      | s/66e97d3c-42ac-4350-9509-14c3b8d76  |
[RUN_FASTLANE] |                                      | 65e/logs                             |
[RUN_FASTLANE] | destination                          | generic/platform=iOS                 |
[RUN_FASTLANE] | suppress_xcode_output                | true                                 |
[RUN_FASTLANE] | xcodebuild_formatter                 | xcpretty                             |
[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 ./MyTally.xcworkspace -scheme MyTally -configuration Release -destination 'generic/platform=iOS' -archivePath /Users/umerkiani/Library/Developer/Xcode/Archives/2022-09-15/MyTally\ 2022-09-15\ 23.36.28.xcarchive archive | tee /var/folders/4z/kv22yhfn6597k5l99c2smvm40000gn/T/eas-build-local-nodejs/66e97d3c-42ac-4350-9509-14c3b8d7665e/logs/MyTally-MyTally.log > /dev/null
[RUN_FASTLANE]     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')
[RUN_FASTLANE]     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 'MyTally' from project 'MyTally')
[RUN_FASTLANE]     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 'MyTally' from project 'MyTally')
[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.208.0                 |
[RUN_FASTLANE] | sdk         | iPhoneOS16.0.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: Fastlane build failed with unknown error. Please refer to the "Run fastlane" and "Xcode Logs" phases.
Fastlane errors in most cases are not printed at the end of the output, so you may not find any useful information in the last lines of output when looking for an error message.
[CLEAN_UP_CREDENTIALS] Destroying keychain - /var/folders/4z/kv22yhfn6597k5l99c2smvm40000gn/T/turtle-v2-a56d594c-4ca2-4011-a088-76e19d9df995.keychain
[CLEAN_UP_CREDENTIALS] Removing provisioning profile

Build failed
Fastlane build failed with unknown error. Please refer to the "Run fastlane" and "Xcode Logs" phases.
Fastlane errors in most cases are not printed at the end of the output, so you may not find any useful information in the last lines of output when looking for an error message.
    Error: npx exited with non-zero code: 1

Solution

  • After working on it for Approximately one whole day, I finally got the local builds working with Xcode 14 and iOS 16. The main issue that I had was the expo versions, react versions, and some other dependency versions I am sharing my package.json files for reference and I will share the exact steps that you need to to to get it fixed and working.

    My Old Package File is

      {
    "name": "mytallymobile",
    "version": "1.0.0",
    "main": "node_modules/expo/AppEntry.js",
    "scripts": {
      "start": "expo start",
      "android": "expo start --android",
      "ios": "expo start --ios",
      "web": "expo start --web",
      "eject": "expo eject"
    },
    "dependencies": {
      "@expo-google-fonts/lato": "^0.2.2",
      "@react-native-async-storage/async-storage": "~1.17.3",
      "@react-native-community/clipboard": "^1.5.1",
      "@react-native-community/datetimepicker": "6.1.2",
      "@react-navigation/bottom-tabs": "^6.3.1",
      "@react-navigation/native": "^6.0.10",
      "@react-navigation/native-stack": "^6.6.2",
      "@reduxjs/toolkit": "^1.8.2",
      "@twotalltotems/react-native-otp-input": "^1.3.11",
      "axios": "^0.27.2",
      "expo": "~45.0.0",
      "expo-asset": "~8.5.0",
      "expo-auth-session": "^3.6.1",
      "expo-font": "~10.1.0",
      "expo-image-manipulator": "~10.3.1",
      "expo-image-picker": "~13.1.1",
      "expo-linear-gradient": "~11.3.0",
      "expo-location": "~14.2.2",
      "expo-random": "^12.2.0",
      "expo-screen-orientation": "~4.2.0",
      "expo-splash-screen": "~0.15.1",
      "expo-status-bar": "~1.3.0",
      "i": "^0.3.7",
      "install": "^0.13.0",
      "moment": "^2.29.3",
      "npm": "^8.13.2",
      "react": "17.0.2",
      "react-dom": "17.0.2",
      "react-native": "0.68.2",
      "react-native-dropdown-picker": "^5.4.2",
      "react-native-google-places-autocomplete": "^2.4.1",
      "react-native-indicators": "^0.17.0",
      "react-native-keyboard-aware-scroll-view": "^0.9.5",
      "react-native-modal-datetime-picker": "^13.1.2",
      "react-native-otp-form": "^1.0.2",
      "react-native-paper": "^4.12.1",
      "react-native-safe-area-context": "4.2.4",
      "react-native-screens": "~3.11.1",
      "react-native-segmented-control-tab": "^4.0.0",
      "react-native-spannable-string": "^1.0.0",
      "react-native-svg": "12.3.0",
      "react-native-web": "0.17.7",
      "react-redux": "^8.0.2",
      "react-usestateref": "^1.0.8"
    },
    "devDependencies": {
      "@babel/core": "^7.12.9"
    },
    "private": true
    

    } and after changes, my new package file looks like this

      {
    "name": "mytallymobile",
    "version": "1.0.0",
    "main": "node_modules/expo/AppEntry.js",
    "scripts": {
      "start": "expo start",
      "android": "expo start --android",
      "ios": "expo start --ios",
      "web": "expo start --web",
      "eject": "expo eject"
    },
    "dependencies": {
      "@expo-google-fonts/lato": "^0.2.2",
      "@react-native-async-storage/async-storage": "~1.17.3",
      "@react-native-community/clipboard": "^1.5.1",
      "@react-native-community/datetimepicker": "6.2.0",
      "@react-navigation/bottom-tabs": "^6.3.1",
      "@react-navigation/native": "^6.0.10",
      "@react-navigation/native-stack": "^6.6.2",
      "@reduxjs/toolkit": "^1.8.2",
      "@twotalltotems/react-native-otp-input": "^1.3.11",
      "axios": "^0.27.2",
      "eas-cli": "^2.1.0",
      "expo": "~46.0.10",
      "expo-asset": "~8.6.1",
      "expo-auth-session": "^3.7.1",
      "expo-font": "~10.2.0",
      "expo-image-manipulator": "~10.4.0",
      "expo-image-picker": "~13.3.1",
      "expo-linear-gradient": "~11.4.0",
      "expo-location": "~14.3.0",
      "expo-random": "^12.3.0",
      "expo-screen-orientation": "~4.3.0",
      "expo-splash-screen": "~0.16.2",
      "expo-status-bar": "~1.4.0",
      "i": "^0.3.7",
      "install": "^0.13.0",
      "moment": "^2.29.3",
      "npm": "^8.13.2",
      "react": "18.0.0",
      "react-dom": "18.0.0",
      "react-native": "0.69.5",
      "react-native-dropdown-picker": "^5.4.2",
      "react-native-google-places-autocomplete": "^2.4.1",
      "react-native-indicators": "^0.17.0",
      "react-native-keyboard-aware-scroll-view": "^0.9.5",
      "react-native-modal-datetime-picker": "^13.1.2",
      "react-native-otp-form": "^1.0.2",
      "react-native-paper": "^4.12.1",
      "react-native-safe-area-context": "4.3.1",
      "react-native-screens": "~3.15.0",
      "react-native-segmented-control-tab": "^4.0.0",
      "react-native-spannable-string": "^1.0.0",
      "react-native-svg": "12.3.0",
      "react-native-web": "0.18.7",
      "react-redux": "^8.0.2",
      "react-usestateref": "^1.0.8"
    },
    "devDependencies": {
      "@babel/core": "^7.12.9",
      "prettier": "2.7.1"
    },
    "private": true
    

    }

    The final steps to fix the problem is as follow

    1. Upgrade the package.json file with the versions mentioned above.
    2. Delete iOS Folder (If present)
    3. Delete node_modules folder.
    4. Delete package-lock.json file.
    5. run npm install
    6. run npm start to check if the build is running.

    Once you execute all of the above steps you can run eas build --platform ios --local It should successfully compile the build this time. If it still does not you can react out to me in the comments.