分析崩潰報告
在您通過使用TestFlight分發(fā)應用程序以進行測試之后舷嗡,或者在應用商店上提供該應用程序之后,您可以定期下載并分析崩潰報告嵌莉。當應用程序崩潰時进萄,系統(tǒng)創(chuàng)建一個崩潰日志,描述應用程序終止的條件烦秩,在大多數(shù)情況下垮斯,包括每個執(zhí)行線程的完整堆棧跟蹤。Apple提供了一個崩潰報告服務只祠,用于收集和聚合用戶崩潰日志兜蠕。崩潰報告可用于應用,WatchKit擴展程序和其他附加應用信息抛寝。
或者熊杨,直接在設備上查看崩潰日志或導入崩潰報告,如在設備窗口中查看和導入崩潰中所述盗舰。例如晶府,如果您在應用商店之外發(fā)布應用,您可以直接從用戶處索取崩潰報告并將其導入Xcode钻趋。
關于崩潰報告服務
蘋果提供的服務允許您下載最新的應用程序版本并且構建您通過商店分發(fā)的崩潰報告川陆。該服務收集并將類似的崩潰日志分組到崩潰報告中。每個應用程序的構建可能有多個崩潰報告蛮位,每個崩潰報告可能包含多個崩潰日志较沪。但是,崩潰日志不會發(fā)送到Apple失仁,除非用戶同意與應用開發(fā)人員共享崩潰數(shù)據(jù)尸曼。TestFlight用戶自動同意共享崩潰數(shù)據(jù)。該服務執(zhí)行以下操作來生成崩潰報告:
1萄焦、從在用戶設備上運行的應用和附加應用中收集崩潰日志
2控轿、表示崩潰日志(用可讀名稱替換內存地址)
3、比較堆棧跟蹤,以識別并將類似的崩潰日志分組到崩潰報告中
4茬射、從崩潰日志中刪除所有個人用戶數(shù)據(jù)
5鹦蠕、提供發(fā)生崩潰的非重復設備的總數(shù)
6、為每個崩潰報告提供一組示例崩潰日志
7在抛、每天更新崩潰報告
Xcode在崩潰組織者中顯示有關崩潰報告的信息:
查看崩潰報告之前
執(zhí)行所有這些步驟以完全啟用崩潰報告服務片部。如果您之前已將帶有符號的應用程序上傳到iTunes Connect并使用TestFlight或商店分發(fā)過,則您可能已經(jīng)在崩潰管理器中看到崩潰報告霜定。如果您在“崩潰”管理器中未看到崩潰報告档悠,請驗證是否已執(zhí)行這些步驟。
? ? ? 1望浩、在Xcode中辖所,在賬戶偏好設置中,添加開發(fā)者的Apple ID磨德,添加您的Apple ID帳戶中缘回。
? ? ? ?2、按照設置版本號和構建字符串中所述設置版本和內部版本號典挑。如果您正在分發(fā)您的應用程序的另一個版本酥宴,請增加構建字符串。
? ? ? ?3您觉、創(chuàng)建單個應用程序歸檔拙寡,并將其上傳到iTunes Connect與符號,如上傳您的應用程序到iTunes Connect中所述琳水。(請確保在點擊上傳之前選中了“為應用添加應用符號...”復選框肆糕。)
? ? ? ? 4、不要刪除您上傳到iTunes Connect的存檔在孝。
? ? ? ? 5诚啃、在iTunes Connect中,按照TestFlight Beta測試(可選)中所述私沮,使用TestFlight將應用程序分發(fā)給測試人員始赎,或者將應用程序提交審核,如將應用程序提交到應用程序審閱中所述仔燕。
? ? ? ? 6造垛、從應用商店下載應用的用戶需要同意與應用開發(fā)者共享崩潰數(shù)據(jù),如使用應用開發(fā)者共享崩潰數(shù)據(jù)中所述涨享。(TestFlight用戶自動同意共享崩潰數(shù)據(jù)筋搏。)
? ? ? ? 7仆百、在Xcode中厕隧,要查看崩潰報告,請輸入作為團隊代理或管理員或iTunes Connect用戶的Apple ID。
? ? ? ? 8吁讨、在Xcode中髓迎,要從崩潰組織器中的堆棧框架轉到調試導航器中的源代碼建丧,請打開已歸檔并上傳到iTunes Connect的Xcode項目排龄。
此外,允許最多三天之間翎朱,從您第一次分發(fā)您的應用程序橄维,當崩潰報告出現(xiàn)在Xcode。為了保持良好的用戶體驗拴曲,當用戶允許時争舞,崩潰數(shù)據(jù)從用戶設備發(fā)送到Apple。
在崩潰管理器中查看崩潰報告
The Crashes organizer 顯示所有您的團隊開發(fā)的所有應用程序的崩潰報告澈灼。
查看崩潰報告
1竞川、在The Crashes organizer,點擊crashes 叁熔。
2委乌、在左側列中,從列表中選擇一個應用程序或本地存檔荣回。
應用程序列表從iTunes Connect獲取遭贸,并包括有關您上傳到iTunes Connect的每個版本和構建的信息。
?3心软、在第二列的頂部革砸,從彈出菜單中選擇一個版本和構建。
Xcode開始刷新您選擇的版本和構建的崩潰報告糯累。Xcode下載前25個崩潰報告 - ?在過去兩周內算利,在非重復設備上發(fā)生次數(shù)最多的崩潰報告。
? 4泳姐、在第二列中效拭,選擇崩潰報告。
崩潰報告的標題默認為可能發(fā)生崩潰的堆椗置耄框架缎患。崩潰唯一設備發(fā)生的次數(shù)顯示在崩潰標題下方。WatchKit擴展程序的崩潰報告用手表圖標()表示阎肝,其他應用程序擴展程序的崩潰報告用拼圖圖標()表示挤渔。
?5、在詳細信息區(qū)域中风题,查看崩潰日志判导。
詳細信息區(qū)域顯示每個線程的堆棧跟蹤嫉父。發(fā)生崩潰的堆棧幀以橙色突出顯示。
?6眼刃、在檢查器中绕辖,添加信息并查看崩潰報告的統(tǒng)計信息。
查看和查找崩潰報告
在崩潰報告列表中擂红,執(zhí)行以下操作:
1仪际、要搜索崩潰報告,請在底部的搜索字段中輸入字符串昵骤。
2树碱、要在Finder中查看崩潰報告的崩潰日志,按住Control鍵并單擊崩潰報告变秦,然后選擇在Finder中顯示赴恨。
在詳細信息區(qū)域中,執(zhí)行以下操作:
1伴栓、要查看崩潰報告的上一個或下一個崩潰日志伦连,請單擊頁腳中的頁面箭頭(<或>),或單擊頁面計數(shù)(例如11 of 20)钳垮,然后從彈出菜單中選擇一個頁面惑淳。
2、要折疊或展開崩潰日志饺窿,請單擊頁腳左下角的過濾器圖標()歧焦。折疊崩潰日志以僅查看應用程序中的堆棧框架肚医。展開崩潰日志以查看所有堆棧幀绢馍,包括框架和系統(tǒng)堆棧幀。
編輯有關崩潰報告的信息
解決問題時肠套,可以在本地存儲有關崩潰報告的信息舰涌。
在崩潰報告列表中,執(zhí)行以下操作:
1你稚、要將崩潰報告標記為已解決瓷耙,請選擇崩潰報告旁邊的圓形或檢查器底部的圓形,然后點擊“標記為已解決”刁赖。
2搁痛、要顯示或隱藏已解決的崩潰報告,請在搜索字段旁邊的頁腳中選擇圈子()宇弛。
在詳細信息區(qū)域中鸡典,執(zhí)行以下操作:
1、要更改崩潰報告的名稱枪芒,請將插入點放在標題中并編輯文本彻况。
在檢查器中谁尸,執(zhí)行以下操作:
要添加有關崩潰報告的注釋,請在注釋文本字段中輸入注釋疗垛。
在調試導航器中打開源代碼
1、在詳細信息區(qū)域中硫朦,執(zhí)行以下操作:
2贷腕、要轉到堆棧幀的源代碼,將鼠標懸停在堆椧д梗框架上泽裳,然后單擊右側顯示的箭頭。
要轉到發(fā)生崩潰的源代碼破婆,請單擊將指針懸停在已突出顯示的堆椾套埽框架上時出現(xiàn)的箭頭。
在檢查器中祷舀,執(zhí)行以下操作:
1瀑梗、要轉到堆棧框架的源代碼裳扯,請單擊“在項目中打開”抛丽。
Xcode打開關聯(lián)的項目并在調試導航器中顯示代碼行。
查看關于崩潰報告的統(tǒng)計信息
根據(jù)設備類型饰豺,操作系統(tǒng)和日期查看過去兩周的崩潰數(shù)據(jù)亿鲜。要更改設備類型,請從彈出菜單中選擇設備類型冤吨。要更改操作系統(tǒng)蒿柳,請從彈出菜單中選擇操作系統(tǒng)。
與應用開發(fā)者共享崩潰數(shù)據(jù)
如果用戶不與應用開發(fā)人員共享崩潰數(shù)據(jù)漩蟆,Apple不能提供崩潰報告垒探。如果用戶報告崩潰并且沒有相應的崩潰報告,請讓用戶與應用開發(fā)者共享崩潰數(shù)據(jù)怠李。崩潰數(shù)據(jù)自動發(fā)送到Apple的TestFlight應用程序叛复,而不是用戶從應用商店下載的應用程序。
給用戶這些指令扔仓。在所有平臺上褐奥,崩潰數(shù)據(jù)選項位于隱私設置的診斷部分。
與iOS開發(fā)人員共享崩潰數(shù)據(jù)
1翘簇、在設置中撬码,點擊隱私。
2版保、滾動到底部呜笑,然后點擊診斷和使用夫否。
3、如有必要叫胁,請點按與應用程序開發(fā)者共享開關啟用它凰慈。
同樣,要求Mac用戶與應用開發(fā)者共享其崩潰數(shù)據(jù)驼鹅。
與Mac開發(fā)人員共享崩潰數(shù)據(jù)
1微谓、在系統(tǒng)偏好設置中,單擊安全和隱私输钩。
2豺型、點擊隱私權,然后在左側列中點擊診斷和使用买乃。
3姻氨、選擇“與應用開發(fā)者共享崩潰數(shù)據(jù)”。
要啟用隱私權選項剪验,請點擊鎖定圖標肴焊。在出現(xiàn)的對話框中,輸入具有管理員權限的系統(tǒng)帳戶的憑據(jù)功戚,然后單擊解鎖抖韩。
蘋果電視用戶也可以共享他們的崩潰數(shù)據(jù)。
與tvOS開發(fā)人員共享崩潰數(shù)據(jù)
1疫铜、在設置中茂浮,單擊常規(guī),然后單擊隱私壳咕。
2席揽、在診斷數(shù)據(jù)下,點擊“與應用開發(fā)人員共享”谓厘。
3幌羞、在顯示的對話框中,點擊“發(fā)送到蘋果”竟稳。
在設備窗口中查看和導入崩潰
在設備窗口中属桦,您可以直接在設備上查看崩潰日志的詳細信息,或導入從其他來源收到的崩潰報告他爸。如果您擁有包含匹配的構建和.dSYM文件的歸檔聂宾,Xcode會自動表示崩潰報告。Xcode使用人類可讀的函數(shù)名和行號來替換崩潰日志中的內存地址诊笤。然后系谐,您可以在“設備”窗口中查看每個執(zhí)行線程的堆棧跟蹤。
因此,請勿刪除您上傳纪他,導出并分發(fā)給用戶的歸檔文件鄙煤。例如,如果您使用自動配置配置文件或團隊配置配置文件(請閱讀導出您的測試應用程序(iOS茶袒,tvOS梯刚,watchOS)和導出應用程序以進行測試(Mac))分發(fā)應用程序,請保留存檔薪寓,以便導入從測試人員收到的未簽名崩潰報告亡资。
您還可以查看使用TestFlight或商店分發(fā)的應用程序的崩潰。如果在上傳應用程序時包含位碼预愤,商店將保留這些.dSYM文件沟于,您必須先下載這些文件咳胃,然后才能在“設備”窗口中查看崩潰植康。如果您不包含bitcode或在應用商店之外分發(fā)您的應用,則您的存檔已包含這些.dSYM文件展懈。
注意:如果您使用符號上傳應用程序销睁,則可以在“崩潰”管理器中查看崩潰報告,如“崩潰管理器”中的“查看崩潰報告”中所述存崖。
如果您在上傳應用程序時包括位碼冻记,請先下載相關.dSYM文件。
下載dSYMs文件
1来惧、在檔案管理器中冗栗,選擇存檔。
2供搀、單擊下載dSYMs按鈕隅居。
Xcode將.dSYM文件插入所選歸檔中。
重要:Xcode使用存檔中的版本號和內部版本號請求.dSYM文件葛虐。因此胎源,在上傳應用程序之前,請始終增加構建號屿脐,如設置版本號和構建字符串中所述涕蚤。
在設備上查看崩潰日志或導入崩潰報告
1、選擇“窗口”>“設備”的诵。
2万栅、如有必要,將設備連接到Mac西疤。
3申钩、在設備下選擇設備,然后單擊查看設備日志按鈕瘪阁。
將顯示一張在設備上顯示崩潰日志的工作表撒遣。
4邮偎、要查看崩潰日志,請在左側列中選擇它义黎。
在右側的詳細視圖中查看崩潰日志禾进。
5、要導入崩潰報告廉涕,請將崩潰報告從Finder拖動到工作表的左側列泻云。
6、點擊完成狐蜕。
在Xcode中重現(xiàn)崩潰
確保測試崩潰的完全相同的構建宠纯。保存您分發(fā)用于測試或上傳到iTunes Connect的所有檔案。通過比較構建版本號和版本號來驗證Xcode中的歸檔是否與崩潰報告匹配层释。按照這些相同的步驟確定您是否正在測試您提交到商店的同一個版本婆瓜。
對于Mac應用程序,要重現(xiàn)崩潰贡羔,請使用客戶帳戶廉白,并重新安裝與崩潰報告匹配的OS X版本。請勿嘗試使用開發(fā)人員或管理系統(tǒng)帳戶重新創(chuàng)建崩潰乖寒,因為您可能無法分析問題猴蹂。
支持的崩潰報告
崩潰日志從在這些操作系統(tǒng)版本上運行的應用程序收集,并且可以在這些Xcode版本中查看楣嘁。