IOS开发路上的故事程序员ios

iOS集成Fabric & Crashlytics (2

2018-01-08  本文已影响202人  Lucky闪闪星
上一篇我们集成了环境,这一篇主要将如何使用Crashlytics 进行数据统计.

1.首先我们尝试着制造一次崩溃

直接上代码

import UIKit
import Crashlytics

class ViewController: UIViewController { 
    override func viewDidLoad() { 
        super.viewDidLoad() // Do any additional setup after loading the view,    typically from a nib.
        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)</a>
     }

    @IBAction func crashButtonTapped(_ sender: AnyObject) { 
         Crashlytics.sharedInstance().crash() 
    }
}

所以我们点击了按钮之后,就会触发崩溃事件.

[注] :但是,在崩溃之后,崩溃信息并不会立刻上传到Fabric!

我们需要在网络正常的状态下,重新启动App. 这样,崩溃信息就会成功上传到Fabric平台. 过几分钟,你就可以在Fabirc平台看到崩溃信息了.

2.然后让我们看一下崩溃信息

会看到类似图中的崩溃信息. 可以看到Fabric 这个统计界面还是做得很全面的. 崩溃/异常的增长率,影响到的用户,以及每天的情况,都有统计. 还可以对issue 进行过滤.
各个issue出现的版本范围、次数,也都有统计.

点击具体的issue条目. 我们会进入该条issue的分析界面.

上部分是一些数据的统计


image.png
下部分是我们关注的,问题是如何产生的呢?

从这里可以看到具体的堆栈信息,可以发现是由于AnimationAlertController.swift 的第35行的showWithAnimation方法出现了问题导致的崩溃.

这时我们就可以去代码中看一看,是哪里出现了漏洞.
当然,你也可以将这份log download下来,仔细分析.

image.png

3.收集用户信息

点击上图中的 View all sessions, 还可以查到具体的每一个崩溃的信息,如果你收集了用户信息的话,其中就会包含用户的信息. 因为有很多问题是需要用户的ID来进行追踪的,所以收集用户信息还是很有必要的.

那如何收集用户信息呢?

上代码~

        Crashlytics.sharedInstance().setUserEmail("user@fabric.io")
        Crashlytics.sharedInstance().setUserIdentifier("12345")
        Crashlytics.sharedInstance().setUserName("Test User")

只要在Crashlytics 初始化完成后

        Fabric.with([Crashlytics()])

调用上面的三行代码就可以啦~
是不是很容易用~

那今天先写到这里,明天会继续和大家讲怎么在Crashlytics中 加一些自定义的Log信息.

晚安~

上一篇下一篇

猜你喜欢

热点阅读