🚧
起動時にアプリがクラッシュする@iOS17.4
iOS17.4で、アプリが起動直後にクラッシュする現象が起きました。
必ず発生するわけではなく、発生条件も不明、再起動すると正常に動作するという状況でした。
あまり日本語の情報がなかったので、調査内容を共有します。
調査結果
- メモリの参照エラーが発生している
- 原因は、iOS17.4でfirebase関連のパッケージに依存関係の問題が出ている
参考情報
- 🐛 [FirebaseSessions] iOS crash - EXC_BAD_ACCESS (SIGSEGV) - KERN_INVALID_ADDRESS at 0x0000000172a476dc · Issue #12442 · firebase/flutterfire
- Investigating memory access crashes | Apple Developer Documentation
対応方法
firebase_core
のバージョンをあげる
firebase_core: ^2.26.0
注意点
-
firebase_core
を2.26
に上げるには、Dart
のバージョンも3.2
に上げる必要があり、その為にFlutter SDK
のバージョンも3.16
以降に上げる必要があります。 -
Flutter SDK
の3.16
では、Material3のデザインがデフォルトで有効になっており、対応していない場合にはUIが大幅に崩れることがあるので、注意が必要です。- Material3は
ThemeData(useMaterial3: false)
で無効化できます - 将来的には、このオプションも消されてしまうので、早めにMaterial3に対応する必要あり
- Material3は
調査方法
参考までに、調査方法も残しておきます。
- 端末側で詳細情報を"共有"してもらう
- App Store Connectでログをダウンロード
- 対象のクラッシュフィードバックを開いて、右上のダウンロードボタンから取得できます
- 保存したzipファイルの内容は、下記の2ファイル
-
feedback.json
: 端末情報など -
crashlog.crash
: エラーログ
-
-
crashlog.crash
からException Typeを確認してググる
...
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Subtype: KERN_INVALID_ADDRESS at 0x000000016f5789ec
Exception Codes: 0x0000000000000001, 0x000000016f5789ec
...
まとめ
依存関係はなるべく最新状態に保つようにメンテナンスがんばりましょう。。
Discussion