Xcode 27 にした状態で、 Expo 57 のプロジェクトをビルドすると、次のようなエラーが出てシミュレーター上でアプリが起動しなくなりました。
failure in void _UIApplicationEvaluateRuntimeIssueForNoSceneLifecycleAdoption(void)_block_invoke (UIApplication_RuntimeIssues.m:106): Application failed to launch: UIScene life cycle is required for apps built with this SDK. See Technote TN3187 for more information on migration.
これの対処方法を紹介します。
といっても簡単で、expo と expo-build-properties を最新にして、次のような設定を app.config.js に加えるだけ:
diff --git a/app.config.js b/app.config.js index e8dbbe71..5354566f 100644 --- a/app.config.js +++ b/app.config.js @@ -173,6 +173,7 @@ module.exports = ({ config }) => { "expo-build-properties", { ios: { + enableSceneSupport: true, forceStaticLinking: ["RNFBApp", "RNFBMessaging"], useFrameworks: "static", ccacheEnabled: true,
この後、
$ pnpm exec expo prebuild --clean --platform ios
をして、クリーンビルドし治した後、いつも通り起動スクリプトを呼べば、無事起動します。クリーンビルドしないと、 expo-build-properties の変更は反映されないのでそこだけ注意。
ということでメモでした。
参考: