🚧

起動時にアプリがクラッシュする@iOS17.4

2024/03/23に公開

iOS17.4で、アプリが起動直後にクラッシュする現象が起きました。
必ず発生するわけではなく、発生条件も不明、再起動すると正常に動作するという状況でした。
あまり日本語の情報がなかったので、調査内容を共有します。

調査結果

  • メモリの参照エラーが発生している
  • 原因は、iOS17.4でfirebase関連のパッケージに依存関係の問題が出ている

参考情報

対応方法

firebase_coreのバージョンをあげる

firebase_core: ^2.26.0

注意点

  • firebase_core2.26に上げるには、Dartのバージョンも3.2に上げる必要があり、その為にFlutter SDKのバージョンも3.16以降に上げる必要があります。
  • Flutter SDK3.16では、Material3のデザインがデフォルトで有効になっており、対応していない場合にはUIが大幅に崩れることがあるので、注意が必要です。
    • Material3はThemeData(useMaterial3: false)で無効化できます
    • 将来的には、このオプションも消されてしまうので、早めにMaterial3に対応する必要あり

調査方法

参考までに、調査方法も残しておきます。

  1. 端末側で詳細情報を"共有"してもらう
  2. App Store Connectでログをダウンロード
  • 対象のクラッシュフィードバックを開いて、右上のダウンロードボタンから取得できます
  • 保存したzipファイルの内容は、下記の2ファイル
    • feedback.json: 端末情報など
    • crashlog.crash: エラーログ
  1. crashlog.crashからException Typeを確認してググる
...
Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Subtype: KERN_INVALID_ADDRESS at 0x000000016f5789ec
Exception Codes: 0x0000000000000001, 0x000000016f5789ec
...

まとめ

依存関係はなるべく最新状態に保つようにメンテナンスがんばりましょう。。

Discussion