今日時点のExpo最新版(5.4.7)で発生。
現象
Expoで「Run on iOS Simulator」を実行すると画面上に以下のエラーが表示される。
Error opening simulator. Check Metro logs for details.
ターミナル上で「iキー(› Press i │ open iOS simulator)」を押すと以下のエラーが表示される。
Logs for your project will appear below. Press Ctrl+C to exit.
Started Metro Bundler
› Opening on iOS...
xcrun exited with non-zero code: 148
Invalid device or device pair: EC8BAF19-2A1B-4EC9-B2A5-E8BB7989A5A6
Error: xcrun exited with non-zero code: 148
at ChildProcess.completionListener (/usr/local/lib/node_modules/expo-cli/node_modules/@expo/spawn-async/src/spawnAsync.ts:65:13)
at Object.onceWrapper (node:events:510:26)
at ChildProcess.emit (node:events:390:28)
at maybeClose (node:internal/child_process:1064:16)
at Process.ChildProcess._handle.onexit (node:internal/child_process:301:5)
...
at spawnAsync (/usr/local/lib/node_modules/expo-cli/node_modules/@expo/spawn-async/src/spawnAsync.ts:26:19)
at xcrunAsync (/usr/local/lib/node_modules/expo-cli/node_modules/xdl/src/SimControl.ts:427:18)
at runBootAsync (/usr/local/lib/node_modules/expo-cli/node_modules/xdl/src/SimControl.ts:217:11)
at bootAsync (/usr/local/lib/node_modules/expo-cli/node_modules/xdl/src/SimControl.ts:189:9)
at action (/usr/local/lib/node_modules/expo-cli/node_modules/xdl/src/SimControl.ts:142:19)
at waitForActionAsync (/usr/local/lib/node_modules/expo-cli/node_modules/xdl/src/apple/utils/waitForActionAsync.ts:17:22)
at waitForDeviceToBootAsync (/usr/local/lib/node_modules/expo-cli/node_modules/xdl/src/SimControl.ts:141:10)
at /usr/local/lib/node_modules/expo-cli/node_modules/xdl/src/utils/profileMethod.ts:22:21
at ensureSimulatorOpenAsync (/usr/local/lib/node_modules/expo-cli/node_modules/xdl/src/Simulator.ts:234:30)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
原因
Xcode一式(Xcode本体、Xcode CLI、Xcode Simulatorの3点)が古かったため。
対応
- Xcodeを起動して最新版にする(起動したら最新化するか聞かれる)
- Xcode Simulatorを起動して最新版にする(起動したら最新化するか聞かれる)
-
以下に従ってiOS Simulatorを「Erase all content and settings」する
xcodeをアップデートしたらexpoでiOSシミュレータが起動できなくなった -
最後に念のため、以下に従ってExpo関連を最新版にする。
Expo Installation