"Prepare Expo" script fails when building the app

  1. SDK Version: 37.0.0
  2. Platforms(Android/iOS/web/all): iOS (simulator)
  3. Xcode version: 11.3.1 (11C504)

I am trying to build the Expo 37.0.0 app shell (for the simulator at the moment) locally with the following command:

~/code/projs/expo/tools-public  ⎇  sdk-37  $ gulp ios-shell-app --action build --type simulator --verbose true --skipRepoUpdate --shellAppSdkVersion 37.0.0

(This is how CI builds it and it was working before)

and I get the following error:

▸ Running script 'Prepare Expo'
    no rule to process file '~/code/projs/expo/template-files/keys.json' of type 'text.json' for architecture 'i386' (in target 'ExpoKit' from project 'Pods')
    no rule to process file '~/code/projs/expo/template-files/keys.json' of type 'text.json' for architecture 'x86_64' (in target 'ExpoKit' from project 'Pods')

The following build commands failed:
  PhaseScriptExecution Prepare\ Expo ~/code/projs/expo/shellAppBase-simulator/Build/Intermediates.noindex/ExpoKitApp.build/Release-iphonesimulator/ExpoKitApp.build/Script-B5722AD01DFB7E3F0084848F.sh
(1 failure)
[11:25:27] 'ios-shell-app' errored after 6.43 min
[11:25:27] Error: set -o pipefail && xcodebuild -workspace ExpoKitApp.xcworkspace -scheme ExpoKitApp -configuration Release -derivedDataPath ../../../shellAppBase-simulator -UseModernBuildSystem=YES -sdk iphonesimulator CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO ARCHS="i386 x86_64" ONLY_ACTIVE_ARCH=NO | xcpretty exited with non-zero code: 65
    at ChildProcess.completionListener (~/code/projs/expo/tools-public/node_modules/@expo/spawn-async/src/spawnAsync.ts:65:13)
    at Object.onceWrapper (events.js:286:20)
    at ChildProcess.emit (events.js:198:13)
    at ChildProcess.EventEmitter.emit (domain.js:466:23)
    at maybeClose (internal/child_process.js:982:16)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:259:5)
    at spawnAsync (~/code/projs/expo/tools-public/node_modules/@expo/spawn-async/src/spawnAsync.ts:26:19)
    at spawnAsyncThrowError (/@expo/xdl@57.8.6/src/detach/ExponentTools.ts:132:19)
    at _buildAsync (/@expo/xdl@57.8.6/src/detach/IosShellApp.js:129:9)
    at Object.buildAndCopyArtifactAsync (/@expo/xdl@57.8.6/src/detach/IosShellApp.js:353:32)
    at process._tickCallback (internal/process/next_tick.js:68:7)

Unfortunately the error message doesn’t give any obvious pointer to me (I am a noob).

For some reason I was able to build 36.0.0 just fine before I cloned this repo again and started fresh to build 37.0.0.

Do you have any idea of what’s going on by any chance? Thank you in advance!

@dsokal @sjchmiela @tsapeta can you help me with this? I have been stuck for a few weeks now :frowning:

Hey @giu!

What are you trying to achieve? Why shell app? Shell apps are intended to be built only by internal developers and CI. I guess you want to build standalone app for your simulator, right? If so, I’d recommend using expo build:ios -t simulator :wink:

I want to build a custom shell that includes an action extensions for my app so that I don’t have to eject. FWIW I build the app locally with turtle.

hey @tsapeta :point_up_2:

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.