APP崩溃日志

分析崩溃报告

在您通过使用TestFlight分发应用程序以进行测试之后,或者在应用商店上提供该应用程序之后,您可以定期下载并分析崩溃报告。当应用程序崩溃时,系统创建一个崩溃日志,描述应用程序终止的条件,在大多数情况下,包括每个执行线程的完整堆栈跟踪。Apple提供了一个崩溃报告服务,用于收集和聚合用户崩溃日志。崩溃报告可用于应用,WatchKit扩展程序和其他附加应用信息。

或者,直接在设备上查看崩溃日志或导入崩溃报告,如在设备窗口查看和导入崩溃中所述。例如,如果您在应用商店之外发布应用,您可以直接从用户处索取崩溃报告并将其导入Xcode。

关于崩溃报告服务

苹果提供的服务允许您下载最新的应用程序版本并且构建您通过商店分发的崩溃报告。该服务收集并将类似的崩溃日志分组到崩溃报告中。每个应用程序的构建可能有多个崩溃报告,每个崩溃报告可能包含多个崩溃日志。但是,崩溃日志不会发送到Apple,除非用户同意与应用开发人员共享崩溃数据。TestFlight用户自动同意共享崩溃数据。该服务执行以下操作来生成崩溃报告:

1、从在用户设备上运行的应用和附加应用中收集崩溃日志

2、表示崩溃日志(用可读名称替换内存地址)

3、比较堆栈跟踪,以识别并将类似的崩溃日志分组到崩溃报告中

4、从崩溃日志中删除所有个人用户数据

5、提供发生崩溃的非重复设备的总数

6、为每个崩溃报告提供一组示例崩溃日志

7、每天更新崩溃报告

Xcode在崩溃组织者中显示有关崩溃报告的信息:


查看崩溃报告之前

执行所有这些步骤以完全启用崩溃报告服务。如果您之前已将带有符号的应用程序上传到iTunes Connect并使用TestFlight或商店分发过,则您可能已经在崩溃管理器中看到崩溃报告。如果您在“崩溃”管理器中未看到崩溃报告,请验证是否已执行这些步骤。

      1、在Xcode中,在账户偏好设置中,添加开发者的Apple ID,添加您的Apple ID帐户中

       2、按照设置版本号和构建字符串所述设置版本和内部版本号。如果您正在分发您的应用程序的另一个版本,请增加构建字符串。

       3、创建单个应用程序归档,并将其上传到iTunes Connect与符号,如上传您的应用程序到iTunes Connect所述。(请确保在点击上传之前选中了“为应用添加应用符号...”复选框。)

        4、不要删除您上传到iTunes Connect的存档。

        5、在iTunes Connect中,按照TestFlight Beta测试(可选)中所述,使用TestFlight将应用程序分发给测试人员,或者将应用程序提交审核,如将应用程序提交到应用程序审阅中所述

        6、从应用商店下载应用的用户需要同意与应用开发者共享崩溃数据,如使用应用开发者共享崩溃数据中所述。(TestFlight用户自动同意共享崩溃数据。)

        7、在Xcode中,要查看崩溃报告,请输入作为团队代理或管理员或iTunes Connect用户的Apple ID

        8、在Xcode中,要从崩溃组织器中的堆栈框架转到调试导航器中的源代码,请打开已归档并上传到iTunes Connect的Xcode项目。

此外,允许最多三天之间,从您第一次分发您的应用程序,当崩溃报告出现在Xcode。为了保持良好的用户体验,当用户允许时,崩溃数据从用户设备发送到Apple。

在崩溃管理器中查看崩溃报告

The Crashes organizer 显示所有您的团队开发的所有应用程序的崩溃报告。

查看崩溃报告

1、在The Crashes organizer,点击crashes 。

2、在左侧列中,从列表中选择一个应用程序或本地存档。

应用程序列表从iTunes Connect获取,并包括有关您上传到iTunes Connect的每个版本和构建的信息。

 3、在第二列的顶部,从弹出菜单中选择一个版本和构建。

Xcode开始刷新您选择的版本和构建的崩溃报告。Xcode下载前25个崩溃报告 -  在过去两周内,在非重复设备上发生次数最多的崩溃报告。

  4、在第二列中,选择崩溃报告。

崩溃报告的标题默认为可能发生崩溃的堆栈框架。崩溃唯一设备发生的次数显示在崩溃标题下方。WatchKit扩展程序的崩溃报告用手表图标()表示,其他应用程序扩展程序的崩溃报告用拼图图标()表示。

 5、在详细信息区域中,查看崩溃日志。

详细信息区域显示每个线程的堆栈跟踪。发生崩溃的堆栈帧以橙色突出显示。

 6、在检查器中,添加信息并查看崩溃报告的统计信息。

查看和查找崩溃报告

在崩溃报告列表中,执行以下操作:

1、要搜索崩溃报告,请在底部的搜索字段中输入字符串。

2、要在Finder中查看崩溃报告的崩溃日志,按住Control键并单击崩溃报告,然后选择在Finder中显示。

在详细信息区域中,执行以下操作:

1、要查看崩溃报告的上一个或下一个崩溃日志,请单击页脚中的页面箭头(<或>),或单击页面计数(例如11 of 20),然后从弹出菜单中选择一个页面。

2、要折叠或展开崩溃日志,请单击页脚左下角的过滤器图标()。折叠崩溃日志以仅查看应用程序中的堆栈框架。展开崩溃日志以查看所有堆栈帧,包括框架和系统堆栈帧。

编辑有关崩溃报告的信息

解决问题时,可以在本地存储有关崩溃报告的信息。

在崩溃报告列表中,执行以下操作:

1、要将崩溃报告标记为已解决,请选择崩溃报告旁边的圆形或检查器底部的圆形,然后点击“标记为已解决”。

2、要显示或隐藏已解决的崩溃报告,请在搜索字段旁边的页脚中选择圈子()。

在详细信息区域中,执行以下操作:

1、要更改崩溃报告的名称,请将插入点放在标题中并编辑文本。


在检查器中,执行以下操作:

要添加有关崩溃报告的注释,请在注释文本字段中输入注释。

在调试导航器中打开源代码

1、在详细信息区域中,执行以下操作:

2、要转到堆栈帧的源代码,将鼠标悬停在堆栈框架上,然后单击右侧显示的箭头。

要转到发生崩溃的源代码,请单击将指针悬停在已突出显示的堆栈框架上时出现的箭头。

在检查器中,执行以下操作:

1、要转到堆栈框架的源代码,请单击“在项目中打开”。

Xcode打开关联的项目并在调试导航器中显示代码行。

查看关于崩溃报告的统计信息

根据设备类型,操作系统和日期查看过去两周的崩溃数据。要更改设备类型,请从弹出菜单中选择设备类型。要更改操作系统,请从弹出菜单中选择操作系统。

与应用开发者共享崩溃数据

如果用户不与应用开发人员共享崩溃数据,Apple不能提供崩溃报告。如果用户报告崩溃并且没有相应的崩溃报告,请让用户与应用开发者共享崩溃数据。崩溃数据自动发送到Apple的TestFlight应用程序,而不是用户从应用商店下载的应用程序。

给用户这些指令。在所有平台上,崩溃数据选项位于隐私设置的诊断部分。

与iOS开发人员共享崩溃数据

1、在设置中,点击隐私。

2、滚动到底部,然后点击诊断和使用。

3、如有必要,请点按与应用程序开发者共享开关启用它。

同样,要求Mac用户与应用开发者共享其崩溃数据。

与Mac开发人员共享崩溃数据

1、在系统偏好设置中,单击安全和隐私。

2、点击隐私权,然后在左侧列中点击诊断和使用。

3、选择“与应用开发者共享崩溃数据”。

要启用隐私权选项,请点击锁定图标。在出现的对话框中,输入具有管理员权限的系统帐户的凭据,然后单击解锁。

苹果电视用户也可以共享他们的崩溃数据。

与tvOS开发人员共享崩溃数据

1、在设置中,单击常规,然后单击隐私。

2、在诊断数据下,点击“与应用开发人员共享”。

3、在显示的对话框中,点击“发送到苹果”。

在设备窗口中查看和导入崩溃

在设备窗口中,您可以直接在设备上查看崩溃日志的详细信息,或导入从其他来源收到的崩溃报告。如果您拥有包含匹配的构建和.dSYM文件的归档,Xcode会自动表示崩溃报告。Xcode使用人类可读的函数名和行号来替换崩溃日志中的内存地址。然后,您可以在“设备”窗口中查看每个执行线程的堆栈跟踪。

因此,请勿删除您上传,导出并分发给用户的归档文件。例如,如果您使用自动配置配置文件或团队配置配置文件(请阅读导出您的测试应用程序(iOS,tvOS,watchOS)导出应用程序以进行测试(Mac)分发应用程序,请保留存档,以便导入从测试人员收到的未签名崩溃报告。

您还可以查看使用TestFlight或商店分发的应用程序的崩溃。如果在上传应用程序时包含位码,商店将保留这些.dSYM文件,您必须先下载这些文件,然后才能在“设备”窗口中查看崩溃。如果您不包含bitcode或在应用商店之外分发您的应用,则您的存档已包含这些.dSYM文件。

注意:如果您使用符号上传应用程序,则可以在“崩溃”管理器中查看崩溃报告,如“崩溃管理器”中的“查看崩溃报告”中所述

如果您在上传应用程序时包括位码,请先下载相关.dSYM文件。

下载dSYMs文件

1、在档案管理器中,选择存档。

2、单击下载dSYMs按钮。

Xcode将.dSYM文件插入所选归档中。

重要:Xcode使用存档中的版本号和内部版本号请求.dSYM文件。因此,在上传应用程序之前,请始终增加构建号,如设置版本号和构建字符串中所述。

在设备上查看崩溃日志或导入崩溃报告

1、选择“窗口”>“设备”。

2、如有必要,将设备连接到Mac。

3、在设备下选择设备,然后单击查看设备日志按钮。

将显示一张在设备上显示崩溃日志的工作表。

4、要查看崩溃日志,请在左侧列中选择它。

在右侧的详细视图中查看崩溃日志。

5、要导入崩溃报告,请将崩溃报告从Finder拖动到工作表的左侧列。

6、点击完成。

在Xcode中重现崩溃

确保测试崩溃的完全相同的构建。保存您分发用于测试或上传到iTunes Connect的所有档案。通过比较构建版本号和版本号来验证Xcode中的归档是否与崩溃报告匹配。按照这些相同的步骤确定您是否正在测试您提交到商店的同一个版本。

对于Mac应用程序,要重现崩溃,请使用客户帐户,并重新安装与崩溃报告匹配的OS X版本。请勿尝试使用开发人员或管理系统帐户重新创建崩溃,因为您可能无法分析问题。

支持的崩溃报告

崩溃日志从在这些操作系统版本上运行的应用程序收集,并且可以在这些Xcode版本中查看。


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,324评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,303评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,192评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,555评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,569评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,566评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,927评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,583评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,827评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,590评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,669评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,365评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,941评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,928评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,159评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,880评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,399评论 2 342

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,580评论 18 139
  • 开发的App或者游戏提交审核后,偶尔会收到测试反馈的消息,说应用崩溃了,bug偶尔出现,难以找到确定的重现方法。怎...
    sky_kYU阅读 1,357评论 0 0
  • 转自http://www.raywenderlich.com/zh-hans/30818/ios应用崩溃日志揭秘 ...
    RunSnails阅读 4,422评论 2 22
  • 作为一名应用开发者,你是否有过如下经历?经常被领导叫去,让看哪位哪位客户运行APP又崩溃了,感觉解决;天天被产品狗...
    继续向前冲阅读 2,821评论 0 9
  • 作为一名应用开发者,你是否有过如下经历? 为确保你的应用正确无误,在将其提交到应用商店之前,你必定进行了大量的测试...
    姚姚先生阅读 575评论 0 1