Crashlyticsでクラッシュを起こしてもレポートが送信されないときの解決法
書いてあるといえばそうなのですが、引っかかってしまったのでここで記載しておきます。
ポイント
Crashlyticsで意図的にクラッシュさせて導入ができたか確認する際は、
Debugモードだと送信されないため、Macと端末との接続を切る(ケーブルを抜く)必要があります。
また、クラッシュレポートはアプリを再起動したタイミングで送信されます。
手順
- MacとiPhone/iPadをケーブルで繋いでRun(▶) ※ワイヤレスデバッグでも可
- アプリが起動したら、一旦Stop(■)
- アプリ内に組み込んだクラッシュボタンを押下
- アプリを再度起動(再度Runするのではなく、アイコンをタップして起動してください)
- Crashlyticsのダッシュボードに新しいクラッシュが表示され、レポートのメールが届く
クラッシュボタンの仕込み方
仕込みたいViewControllerに、下記のコードを追加してください。
import UIKit
import Crashlytics
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// クラッシュボタン
let button = UIButton(type: .roundedRect)
button.frame = CGRect(x: 20, y: 50, width: 100, height: 30)
button.backgroundColor = .red
button.setTitle("Crash", for: [])
button.addTarget(self, action: #selector(self.crashButtonTapped(_:)), for: .touchUpInside)
view.addSubview(button)
}
@IBAction func crashButtonTapped(_ sender: AnyObject) {
Crashlytics.sharedInstance().crash()
}
}
スポンサーリンク