1、崩潰日志的記錄工具Crashlytics
集成過程:
把crashlytics相關(guān)的FrameWork拖到工程
--->在AppDelegate中導(dǎo)入頭文件 #import <Crashlytics/Crashlytics.h>
---->在(Bool)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
[Crashlytics startWithAPIKey:@"your indentify code"];
}
制造崩潰測試:
[[Crashlytics shareInstance] crash];
[NSObject doesNotRecognizeSelector];
[arrayOnlyTwoElements objectAtIndex:3];
實現(xiàn)原理:
1、在應(yīng)用啟動時調(diào)用其SDK,根據(jù)你設(shè)置的APPKey,完成crash信息的收集和上傳.
2、修改功能的編譯配置,每次工程編譯完成后,上傳該工程對應(yīng)的dSYM文件.只有通過該文件才能將crash日志還原成可讀的callStack信息.
2、Xcode自帶的一個分析工具symbolicatecrash
step1:在終端敲命令查找symbolicatecrash所在的路徑
find /Applications/Xcode.app -name symbolicatecrash -type f
step2:從Xcode Archive的二進(jìn)制文件中找到.dSYM文件和.app文件拷貝到剛才創(chuàng)建的 "CrashReport" 文件夾里面.
step3:打開終端進(jìn)入CrashReport文件夾,依次輸入以下命令行:
cd /Users/username/Desktop/CrashReport
export DEVELOPER_DIR=/Applications/XCode.app/Contents/Developer
./symbolicatecrash ./*.crash ./*.app.dSYM > symbol.crash
這時候終端將會進(jìn)行處理......處理結(jié)果是生成一個新的文件symbol.crash。然后打開這個文件。
你就會看到日志跟我們調(diào)試APP的控制臺輸出的內(nèi)容一樣了!