React Native ExpoでiOSシミュレータを起動するとCheck Metro logsと言われる

今日時点の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点)が古かったため。

対応

  1. Xcodeを起動して最新版にする(起動したら最新化するか聞かれる)
  2. Xcode Simulatorを起動して最新版にする(起動したら最新化するか聞かれる)
  3. 以下に従ってiOS Simulatorを「Erase all content and settings」する
    xcodeをアップデートしたらexpoでiOSシミュレータが起動できなくなった

  4. 最後に念のため、以下に従ってExpo関連を最新版にする。
    Expo Installation