1、PLCrashReporter
2、Crashlytics
使用Fabric
功能最强大的轻量级崩溃报告解决方案。
手动集成
https://fabric.io/kits/ios/crashlytics/install
1、打开 Podfile,并添加以下突出显示的行:
use_frameworks!
pod 'Fabric'
pod 'Crashlytics'
从终端安装 pod 的依赖项:
pod install
2、增加运行脚本
cocopoads安装
${PODS_ROOT}/Fabric/run <FABRIC_API_KEY> <BUILD_SECRET>"
手动安装的framework
${PROJECT_DIR}/Fabric.framework/run <FABRIC_API_KEY> <BUILD_SECRET>
3、在Info.plist中增加api key
<key>Fabric</key>
<dict>
<key>APIKey</key>
<string>6d87148d0e0b61e903d94a87d639c3eefada7ba6</string>
<key>Kits</key>
<array>
<dict>
<key>KitInfo</key>
<dict/>
<key>KitName</key>
<string>Crashlytics</string>
</dict>
</array>
</dict>
4、项目中代码使用
import <Fabric/Fabric.h>
import <Crashlytics/Crashlytics.h>
[Fabric with:@[[Crashlytics class]]];
// TODO: Move this to where you establish a user session
[self logUser];
- (void) logUser {
// TODO: Use the current user's information
// You can call any combination of these three methods
[CrashlyticsKit setUserIdentifier:@"12345"];
[CrashlyticsKit setUserEmail:@"user@fabric.io"];
[CrashlyticsKit setUserName:@"Test User"];
}
5、测试
import <Crashlytics/Crashlytics.h>
[[Crashlytics sharedInstance] crash];
6、查看数据
登录fabric控制台
https://fabric.io/
如果看不到数据,看DWARF with dSYM File” for both Debug and Release配置是否开启。
自动集成
1, new app
2,select your xcode project
3,select your organization选择组织
4,select a kit to install ;选择一个工具包进行安装
选择Crashlytics,install
looks like we are having trouble downloading the sdk,but a quick restart of the fabric mac app should fix it
主要是在工程目录生成Fabric.framework目录。
因为,Fabric.framework目录之中有run命令行程序
5, Add run script
添加 Crashlytics 运行脚本
./Fabric.framework/run 6d87148d0e0b61e903d94a87d639c3eefada7ba6 81728f34a89b8de2bdbca053c546fde1d54c6b6176c7722f5a1b8b51adc7bd94
准备操作完成后,build项目
如果是已经带有pod的工程,可以先关闭工程,然后select a kit to install 重新选择xxx项目.xcodeproj
然后再打开YYWebimage.xcworkspace,build项目。
重新编译项目build your project,在info.plist中生成下面的配置信息。
<key>Fabric</key>
<dict>
<key>APIKey</key>
<string>6d87148d0e0b61e903d94a87d639c3eefada7ba6</string>
<key>Kits</key>
<array>
<dict>
<key>KitInfo</key>
<dict/>
<key>KitName</key>
<string>Crashlytics</string>
</dict>
</array>
</dict>
6, install the sdk kits
把frameworkd库从fabric中晃动的图标多拽到项目的工程,
完成这两个库的拷贝:
Fabric.framework
Crashlytics.framework
7, Step1 of 2
拷贝关键代码
import <Fabric/Fabric.h>
import <Crashlytics/Crashlytics.h>
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[Fabric with:@[[Crashlytics class]]];
return YES;
}
8, 点击run运行项目工程
step 2 of 2
clean清空工程,重新运行项目。
如果不运行,app的信息将是没有完成的情况。无法看到数据。
日志后台:https://fabric.io/dashboard
1、Crashlytics 不会漏掉任何应用崩溃信息。在发生崩溃后,用户再次进入 APP 并联网情况下,日志自动上传。
2、Crashlytics 可以象 Bug 管理工具那样,管理这些崩溃日志。例如:Crashlytics 会根据每种类型的 Crash 的出现频率以及影响的用户量来自动设置优先级。对于每种类型的 Crash,Crashlytics 除了会像一般的工具提供 Call Stack 外,还会显示更多相关的有助于诊断的信息,例如:设备是否越狱,当时的内存量,当时的 iOS 版本等。对于修复掉的 Crash 日志,可以在 Crashlytics 的后台将其关掉。
3、Crashlytics 可以每天和每周将崩溃信息汇总发到你的邮箱。
4、提供在线的报告,解释崩溃原因,甚至能给出是哪一行代码导致的崩溃。
Crashlytics提供了mac端的应用程序,帮助你检测相关工程是否正确设置并且提供相应的帮助信息
在原理上,Crashlytics的通过以下2步完成崩溃日志的上传和分析:
1、提供应用SDK,你需要在应用启动时调用其SDK来设置你的应用。SDK会集成到你的应用中,完成Crash信息的收集和上传。
2、修改工程的编译配置,加入一段代码,在你每次工程编译完成后,上传该工程对应的dSYM文件。研究过手工分析Crash日志的同学应该知道,只有通过该文件,才能将Crash日志还原成可读的Call Stack信息。
Fabric工具包
1, answers
Real-time analytics and event tracking
实时分析和事件跟踪。
2,beta
App distribution for beta testing
应用程序分发测试。
3,Crashlytics
Best-in-class crash reporting
异常上报。
Fabric.io控制台
https://fabric.io/dashboard
retention保留
growth 增长
kpi
crashlytics
latest release
engagement参与度
audience读者
revenue收益
events事件
add a new kit 增加一个新的工具包
track key metric 跟踪关键指标
track user action 跟踪用户操作
3、使用Firebase
https://console.firebase.google.com/
如果用fabric集成了crashlytics,需要把fabric关联到firebase
firebase fabric关联
Firebase Crashlytics 使用入门
本快速入门将向您介绍如何设置 Firebase Crashlytics,以便您能够在 Firebase 控制台中获取全面的崩溃报告。
要开始设置,您需要有一个启用了 Firebase Crashlytics 的 Firebase 应用:
设置 Firebase 应用:使用示例应用或将 Firebase 添加到现有的 iOS 项目。
启用 Crashlytics:点击 Firebase 控制台中的设置 Crashlytics。