iOS-Bugly使用

前言

由于前期趕項(xiàng)目,所以在項(xiàng)目中難免多了一些bug,最近項(xiàng)目閑了下來(lái),為了能夠快速定位到線上版本bug位置,經(jīng)過(guò)比較之后,決定使用騰訊家的Bugly。
keywords: Bugly、集成Bugly、Bugly使用、騰訊Bugly

登錄賬號(hào)

  1. 瀏覽器中打開Bugly點(diǎn)我進(jìn)入Bugly。
  2. 使用QQ或者郵箱登錄,如果沒有請(qǐng)先注冊(cè)。

創(chuàng)建程序

  • 新建產(chǎn)品

    點(diǎn)擊新建產(chǎn)品


    create.png
  • 實(shí)名認(rèn)證

    如果沒有實(shí)名認(rèn)證,請(qǐng)先認(rèn)證。


    realName.png
  • 創(chuàng)建應(yīng)用

輸入相關(guān)信息,點(diǎn)擊保存


new.png
  • 查看應(yīng)用

    在我的產(chǎn)品中,可以看到剛才創(chuàng)建的應(yīng)用,點(diǎn)擊設(shè)置,獲取應(yīng)用的AppID,AppKey


    productlist.png
setting.png

集成Bugly

具體可參考Bugly-iOS官方文檔,這里只介紹cocoaPods方式集成

  • 如果未安裝cocoaPods,請(qǐng)自行百度/Google
  • 如果更新cocoaPods,請(qǐng)參考我的另外一篇文章cocoapods更新
  • 如果已安裝cocoaPods
    • 在podfile文件中加入
    pod 'Bugly'
    
    • 控制臺(tái)查詢bugly版本
    pod search Bugly  //如果和官方最新版不一致,請(qǐng)執(zhí)行下面的代碼
    
pod update //更新pod資源庫(kù),如果一致,可執(zhí)行 pod --verbose --no-repo-update
  • Appdelegate中代碼中集成
//Bugly
- (void)configureBugly {
    BuglyConfig *config = [[BuglyConfig alloc] init];
    
    config.unexpectedTerminatingDetectionEnable = YES; //非正常退出事件記錄開關(guān),默認(rèn)關(guān)閉
    config.reportLogLevel = BuglyLogLevelWarn; //報(bào)告級(jí)別
    //config.deviceIdentifier = [UIDevice currentDevice].identifierForVendor.UUIDString; //設(shè)備標(biāo)識(shí)
    config.blockMonitorEnable = YES; //開啟卡頓監(jiān)控
    config.blockMonitorTimeout = 5; //卡頓監(jiān)控判斷間隔,單位為秒
//    config.delegate = self;
    
#if DEBUG
    config.debugMode = YES; //SDK Debug信息開關(guān), 默認(rèn)關(guān)閉
    config.channel = @"debug";
#else
    config.channel = @"release";
#endif
    
    [Bugly startWithAppId:TY_BUGLY_APP_ID
#if DEBUG
        developmentDevice:YES
#endif
                   config:config];
}

如果實(shí)現(xiàn)了BuglyDelegate

#pragma mark - BuglyDelegate
//此方法返回的數(shù)據(jù),可在bugly平臺(tái)中異常上報(bào),具體異常信息的跟蹤數(shù)據(jù)附件信息中的crash_attach.log中查看
-(NSString *)attachmentForException:(NSException *)exception{
//    [Bugly reportException:exception];
    return [NSString stringWithFormat:@"exceptionInfo:\nname:%@\nreason:%@",exception.name,exception.reason];
}

到這里,Bugly就已經(jīng)集成成功了,如果程序再出現(xiàn)bug,就可以在管理平臺(tái)上看到,下面是我測(cè)試數(shù)據(jù)

testEx.png

點(diǎn)擊進(jìn)入其中一個(gè)異常,可以發(fā)現(xiàn)具體的異常問(wèn)題,和出錯(cuò)類名及方法名,向下翻還可以看到出錯(cuò)手機(jī)信息以及堆棧信息。
ex-des.png

細(xì)心的朋友可能會(huì)發(fā)現(xiàn),這里只看到了堆棧信息,但是具體錯(cuò)在哪一行,我們并不知道,原因上面寫說(shuō)的很清楚,因?yàn)槲覀儧]有配置該版本的符號(hào)表文件,點(diǎn)擊配置,你可以選擇下載符號(hào)表工具,或者查看自動(dòng)上傳符號(hào)文件
test2.png

test3.png
1. 自動(dòng)上傳符號(hào)表
  1. 點(diǎn)擊下載符號(hào)表工具,解壓獲得
  • buglySymboliOS.jar
  • dSYMUpload.sh
  1. 將解壓后的文件,放到指定位置
jar.png

test5.png
  1. 配置腳本信息
    打開dSYMUpload.sh,配置好你的Bugly的AppID, APPKey, 以及應(yīng)用的Bundle id,復(fù)制全部


    sh.png
  2. 打開Xcode》Build Phases,添加運(yùn)行腳本


    test6.png
  3. 查看自己電腦是否已經(jīng)安裝Java環(huán)境,控制臺(tái)中輸入

java_install.png
  • 如果可以獲取到Java版本,則配置到此結(jié)束。
  • 如果出現(xiàn)No Java,說(shuō)明電腦沒有安裝Java環(huán)境,請(qǐng)下載java環(huán)境。安裝成功后,再進(jìn)行測(cè)試,就可以看到詳細(xì)信息了。
test7.png

自此,大功告成,現(xiàn)在可以自己再寫個(gè)數(shù)組越界的bug,再次測(cè)試,就可以發(fā)現(xiàn)已經(jīng)可以確定Bug行數(shù)了。

2. 當(dāng)然你可以手動(dòng)上傳符號(hào)表

請(qǐng)參考符號(hào)表獲取方法。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,351評(píng)論 25 708
  • 我們都渴望能有一份真正舉案齊眉、琴瑟和諧、天長(zhǎng)地久的感情,但是當(dāng)我們沒這個(gè)幸運(yùn)的時(shí)候,就要去修煉我們內(nèi)心的格局。 ...
    運(yùn)安閣主閱讀 631評(píng)論 0 0
  • 這個(gè)秋天的清晨,天方才微微亮起來(lái),老師和同學(xué)一句輕輕的召喚,我便重新回到了紫貝文學(xué)社。1995-1997,隔了近2...
    紫娃閱讀 691評(píng)論 0 1
  • 胡朝芳閱讀 188評(píng)論 0 0
  • 今天是挑戰(zhàn)川藏線第三天,一大早客棧柯大俠就把熱騰騰的雞蛋熱湯面端了上來(lái),大家吃飽喝足開撥。 今天的騎行攻略是上坡跨...
    刺虎從頭越閱讀 397評(píng)論 0 0

友情鏈接更多精彩內(nèi)容