iOS AdHoc应用程序在某些视图中崩溃

时间:2014-07-09 18:32:55

标签: ios crash ad-hoc-distribution

我有一个小应用程序(游戏),在使用设备开发证书和模拟器的设备上测试时工作正常。

但是当通过AdHoc配置文件安装应用时,在特定视图上,它会崩溃50%的次数。其他观点完美无缺。

如何查看导致应用崩溃的原因,因为它在Xcode中的AdHoc模式下未显示任何日志信息。

感谢。

1 个答案:

答案 0 :(得分:4)

您需要从设备获取符号化的崩溃日志,这需要几个步骤:

  1. 从设备上获取崩溃日志。您可以在Xcode的管理器窗口中找到日志。在组织器中,在设备选项卡下,您应该看到各种设备已连接到您的计算机。在部分或全部设备下,将出现“设备日志”列表。如果为任何设备选择设备日志,您将看到该设备的崩溃日志列表。 ad-hoc分布式应用程序中发生崩溃的日志通常不会被符号化,因为归档构建通常是使用Release构建配置完成的,并且Xcode在新的应用程序项目中为您设置的Release配置恰好从构建的产品中剥离调试符号。

  2. 您在分发ad-hoc之前创建的存档实际上只是一个ZIP文件。从Xcode中,在finder中显示存档,并将存档文件的扩展名更改为“zip”,以便您可以在finder中解压缩它(或者只需从命令行解压缩该文件,无论哪种方式,您只需要获取存档解压缩)。

  3. 在您现在解压缩的存档的Payload目录中,您应该找到您的应用包。您需要获取该应用程序包并将其放在生成用于存档的项目时生成的dSYM包旁边,Spotlight可以在其​​中找到它们。如果您只是将应用程序和dSYM放在主目录中的某个文件夹中,那么这应该可以解决问题。

  4. 最后,在Xcode组织器的“设备日志”下,选择需要符号化的崩溃报告,然后单击Xco​​de窗口底部的“重新符号化”按钮。

  5. 如果你没有拥有你的存档版本中的dSYM包,你可能需要再次构建存档,这次,在构建日志中,查找“Generate foo.dSYM” step(应该是“Build succeeded”之前的最后一步或最后一步)。如果展开该步骤的命令,您应该能够看到dSYM的生成位置。只需将它保存在某处,以便以后再使用。然后ad-hoc分发并安装新构建的存档,重现崩溃,并按照上面的步骤1-4来表示新的崩溃日志。

    当然,一旦你有了符号化的崩溃日志,就可以做更多事情来实际修复崩溃,但获取符号化日志是重要的第一步。符号化日志将显示崩溃发生时堆栈的样子,并帮助您查明相关代码。