
概要
以前、Expo53を使用してiOS版のみですがExpoで個人アプリをリリースしました。iOS26のLiquid Glass対応をするには、専用のコードを書く必要がありますが情報が出てきてからは、ハードルは高く感じなかったですね。
こちらがリリースしたアプリです。
https://apps.apple.com/jp/app/スピンカード/id6748535693
しかしUpdate対応するのは容易ではなかったようですが。。。
eas buildして、AppStoreへArchiveしてTestFlightで配布したアプリをビルドしたらクラッシュした😱
リリースのスピードもSwiftUI/Flutterを使った方が、早いですが証明書の管理が楽なExpoもリリースするための速度はビルドなど含めて遅く感じましたが、メリットもありました。
生成AIとも相性が良く変な話作るだけなら、Flutterよりも速いしiOS26に対応したアプリを作りやすかった。
ここで詰まった!
npm packageのupdate対応と設定周りで詰まりました。Claude Codeを活用することで、エラーログを解析してeas buildのビルド中のログ解析から、リリースするさいの設定周りの課題を1時間ぐらいで解決してくれました。
早く解決するためにやったこと!
Claude Codeにひたすらプロンプトを投げる。これだけ。エラーをfixしたらGitHub PR作成していうと勝手にやってくれた😅
すごいのは、支持したコンテキストから最適なPRを作成してくれたところですね。それがこちら👇
Summary
- Reactバージョン不一致(19.2.0 → 19.1.0)を修正。Expo SDK 54が期待するreact-native-renderer 19.1.0と一致させた
- 不足していた
expo-font依存関係を追加(@expo/vector-iconsが必要としていた) - New Architectureを無効化(
newArchEnabled: false)して安定性を向上 appVersionSourceをremoteからlocalに変更し、app.jsonのバージョンを使用するように修正
原因
TestFlightでのクラッシュは以下のエラーが原因でした:
変更内容
app.json: version 1.0.1, newArchEnabled: false, expo-fontプラグイン追加eas.json: appVersionSource: localpackage.json: react/react-dom 19.1.0, expo-font追加- ios/android: prebuildで再生成
Test plan
- ローカルで
npx expo startが正常に起動することを確認 - EAS Buildが成功することを確認(v1.0.1 build 5)
- TestFlightでクラッシュせずに起動することを確認
"newArchEnabled": false,にしないと、TestFlightで配布したiOSアプリが何度もクラッシュした!

最後に
Claude Codeはエラーのデバッグが強いので解決できたが、Liquid Glassは知らないと思おうので、新しい技術に関しては自力で実装しました。NativeのViewを描画できるのが、Expoの魅力でしたね。しかしeas buildの制限がきついのが悩みです。