【问题标题】:Swift :- How to do the customize report for Crashlytics in SwiftSwift :- 如何在 Swift 中为 Crashlytics 做自定义报告
【发布时间】:2020-03-20 04:33:47
【问题描述】:

我是 Crashlytics 的新手,在 Google 购买它们后我才开始使用它(又名 FirebaseCrashlytics SDK,没有 Fabric)。我已经尝试了文档并通过电子邮件向 Firebase 发送了有关如何进行自定义报告的信息,但没有得到我想要的答案。此外,当我键入 Crashlytics 时,文档 Crashlytics.sharedInstance() 没有 shareInstance 弹出窗口。 这是我遇到的崩溃之一,我想使用自定义日志来帮助我了解有关崩溃的更多信息。

var sectionHeaderForSelectedDate: [ChartData] = [] //Section Headder
var cellInSectionForSelectedDate: [[ChartData]] = [] //Cell in section

override func viewDidLoad() {
    super.viewDidLoad()

    setupScreen()
}

func setupScreen() {
    if sectionHeaderForSelectedDate[0].value[0].date.convertDateToString(dateFormat: .dayOfWeekMonthDayYear) != "" {
        self.title = "\(sectionHeaderForSelectedDate[0].value[0].date.convertDateToString(dateFormat: .dayOfWeekMonthDayYear)) Sums"
    }

    tableView.delegate = self
    tableView.dataSource = self

    for (index, metricItem) in sectionHeaderForSelectedDate.enumerated() {
        tableViewData.append(cellData(opended: false, title: metricItem.name,
                                      sectionData: cellInSectionForSelectedDate[index]))
    }
    tableView.reloadData()
}

据我说,setupScreen() 发生了崩溃,我希望有一个日志来实际告诉我来自另一个 viewcontrollersegue 是否正在将值传递给我的变量(sectionHeaderForSelectedDate 和 @ 987654330@)。 我该怎么做?我应该把代码放在函数的什么地方?

谢谢你,如果我的任何关于 Crashlytics 的 cmets 不正确,请纠正我。

【问题讨论】:

    标签: ios swift firebase crashlytics


    【解决方案1】:

    我不知道 Crashlytics 有包含正确语法的崩溃报告测试版。我找到了它并测试了它现在可以工作了!我使用 Firebase 中的调试示例代码来测试报告。请查看代码和屏幕截图。

    FirebaseCrashlytics Customize Crash Report

    override func viewDidLoad() {
        super.viewDidLoad()
    
        documentPicker.delegate = self
        documentPicker.allowsMultipleSelection = false
    
        if isFromChatBot == true {
            showIntakeOptions()
        }
    
        let button = UIButton(type: .roundedRect)
        button.frame = CGRect(x: 20, y: 50, width: 100, height: 30)
        button.setTitle("Crash", for: [])
        button.addTarget(self, action: #selector(self.crashButtonTapped(_:)), for: .touchUpInside)
        view.addSubview(button)
    
        Crashlytics.crashlytics().setCustomValue("\(isFromChatBot)", forKey: "viewdeloadTest")
        Crashlytics.crashlytics().log("viewdeloadTestForCrash")
    }
    
    @IBAction func crashButtonTapped(_ sender: AnyObject) {
        Crashlytics.crashlytics().setCustomValue("test", forKey: "test1")
        Crashlytics.crashlytics().log("crashbuttonTapped")
        //Analytics.logEvent("Setup screen", parameters: nil)
        fatalError()
    }
    

    【讨论】:

      【解决方案2】:

      那个时候你会需要好的FirebaseAnalytics

      您可以在每个必要的事件中发送日志,如下所示:

      Analytics.logEvent("Setup screen", parameters: nil)
      

      使用eventNameparameters

      在此之后,当崩溃发生并且您在此之前有记录的事件时,您将在 LOGS 选项卡中看到此信息。

      【讨论】:

      • 您好,感谢您的回答。我尝试了代码,但它没有显示在日志上。我用它显示的 Crashlytics.crashlytics().log("loginfo") 跟踪了文档!不过还是谢谢你的回答:)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-19
      相关资源
      最近更新 更多