FirebaseCrashlyticsでのwithAdditionalUserInfoを渡す方法

はじめに

CrashlyticsがFablicからFirebaseに移行したことによって独自のエラーをrecordで送っている部分が変わりました。

withAdditionalUserInfoを渡す

Firebase Crashlytics SDK にアップグレードする

公式の記事を見ると特に記載がないのでrecordでエラーを送る時にwithAdditionalUserInfoに追加していた値はsetCustomValueで送るのかなぁと思っていたのですが、それは間違いのようです。

間違い

let crashlytics = Crashlytics.crashlytics()
crashlytics.setCustomValue("hugahuga", forKey: "hoge")
crashlytics.record(error: Error)

正解

let tempError = myError as NSError
let recordableError = NSError(domain: tempError.domain, code: tempError.code, userInfo: additionalUserInfo)
Crashlytics.crashlytics().record(error: recordableError)

公式のドキュメントに書いといてくれ〜という気持ち。

参考文献

FR: Expose record error with additional user info