iOS整合Fabric & Crashlytics (2)
上一篇我們整合了環境,這一篇主要將如何使用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的分析介面.
上部分是一些資料的統計
下部分是我們關注的,問題是如何產生的呢?
從這裡可以看到具體的堆疊資訊,可以發現是由於AnimationAlertController.swift 的第35行的showWithAnimation方法出現了問題導致的崩潰.
這時我們就可以去程式碼中看一看,是哪裡出現了漏洞.
當然,你也可以將這份log download下來,仔細分析.
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資訊.
晚安~
相關文章
- Crashlytics-iOS 使用記錄iOS
- Tungsten Fabric解決方案指南-Kubernetes整合
- Tungsten Fabric入門寶典丨編排器整合
- cocos2dx-3.9 在iOS上整合admobiOS
- Hyperledger Fabric 2.x 環境搭建
- iOS 持續整合iOS
- Hyperledger Fabric(Hyperledger Fabric模型)模型
- PayPal-iOS-整合攻略iOS
- Hyperledger Fabric 2.x 自定義智慧合約
- iOS環信整合(附demo)iOS
- iOS整合個推小結iOS
- cacti+nagios 之cacti整合nagios(四)iOS
- Fabric基礎架構原理(2):共識與交易架構
- Hyperledger Fabric 2.x 動態更新智慧合約
- Fabric 2.x 智慧合約開發記錄
- Hyperledger Fabric 2.x Java 區塊鏈應用Java區塊鏈
- Hyperledger Fabric 2.x Java區塊鏈應用Java區塊鏈
- python django blog 2 : fabric 自動化部署PythonDjango
- 【Hyperledger Fabric】Fabric 2.2 手動安裝
- fabric案例
- SpringBoot整合系列-整合H2Spring Boot
- iOS持續整合(一)——fastlane 使用iOSAST
- iOS CallKit與PushKit的整合(一)iOS
- iOS自動整合打包釋出iOS
- iOS 持續整合系列 – 開篇iOS
- ios 百度鷹眼整合iOS
- fabric sdk : org.hyperledger.fabric.sdk.exception.ProposalExceptionException
- Tungsten Fabric與K8s整合指南丨建立隔離名稱空間K8S
- Tungsten Fabric入門寶典丨說說L3VPN及EVPN整合
- Swift 2 2 整合lean cloud Push推送SwiftCloud
- Hyperledger Fabric 智慧合約開發及 fabric-sdk-go/fabric-gateway 使用示例GoGateway
- iOS開發 iOS整合FFmpeg及視訊格式轉碼iOS
- VMware ESXi 8.0U2c macOS Unlocker & OEM BIOS 整合網路卡驅動和 NVMe 驅動 (整合驅動版)MaciOS
- MySQL Fabric is awesomeMySql
- 區塊鏈Hyperledger Fabric 2.x 自定義智慧合約區塊鏈
- Fabric 1.0原始碼分析(2) blockfile(區塊檔案儲存)原始碼BloC
- iOS整合 Flutter 混合工程開發一iOSFlutter
- 混合開發:flutter整合進iOS工程FlutteriOS