割と丸一日程度時間溶かしたたのでメモ。
実機ビルドはできるのに、fastlaneでdeploygateに配信したアプリは起動時にクラッシュする。
クラッシュ前後のコミットで特に悪いことはしてないように見えるのになぜかクラッシュする。
FirebaseのCrashlytics
のクラッシュログをみても環境変数jsonをDocodeするところの強制アンラップでこけていることはわかったがなぜこれが起きるかがわからなかった。
setting.swift
Fatal error: 'try!' expression unexpectedly raised an error: Swift.DecodingError.dataCorrupted(Swift.DecodingError.Context(codingPath: [], debugDescription: "The given data was not valid JSON.", underlyingError: Optional(Error Domain=NSCocoaErrorDomain Code=3840 "No value." UserInfo={NSDebugDescription=No value.}))): file /Users/vagrant/git/hogehoge.swift, line 283
チームメンバーの助けで解決。
結論: fastalneをupdate
したら治った。
bundle update fastlane
コミットが悪いわけでないのにクラッシュする時は、ライブラリだったり証明書だったりを疑うのが良さそうですね。