【Unity】Firebase + Xcode13 で起動時にクラッシュする問題の対処法
2022/2/11 追記
2022年1月31日のVersion 8.8.0にて修正されました。 firebase.google.com
概要
UnityでFirebaseを入れている自分のプロジェクトをXcode13にアップグレード後、アプリをビルドすると起動時にクラッシュするようになってしまいました。
正確には該当アプリの初回起動後にプッシュ通知を許可、その後タスクキルして再度アプリを立ち上げると画面がブラックのままで進行不能になります。
どうやらFirebaseライブラリの問題であるらしいのですが、2022年1月11日現在まだ公式で修正されてはいない模様。
クラッシュの原因として、UnityFrameworkが読み込まれるよりも先にFirebase側のフレームワークが読み込まれてクラッシュしているみたいです。
暫定的な回避方法
現在2通りあります:
- Build Phases -> Link Binary with Librariesセクションに"UnityFramework.framework"を追加する
- pinfo.listで
FirebaseAppStoreReceiptURLCheckEnabled = 0
を設定する
Link Binary with Librariesセクションに"UnityFramework.framework"を追加する
上記の原因から、先にUnityFrameworkを読み込むようにLink Binary with Librariesに指定して順番を変えてやればクラッシュを回避できます。
ただし、こちらの対応をするにはBitcodeをオフにしないといけません。
pinfo.listでFirebaseAppStoreReceiptURLCheckEnabled = 0
を設定する
こちらの対応ではBitcodeをオフにする必要はありません。
ただし、Sandboxでの購入が本番の購入だと認識されるようになるらしいです(未確認)
FirebaseでKPI取ってる方は注意が必要です
参考サイト
該当Issue github.com