自从我在 XCode 中使用 symbolicate 以来已经有一段时间了,它曾经可以工作。今天当我尝试这个...
- 存档我的应用。
- 通过 XCode 在我的设备上安装应用程序。 (只需连接设备并在 Release模式下运行应用程序)。
- 从 Xcode 停止了该应用。
- 在我的设备(已连接到 Mac)上运行该应用程序,但它当然崩溃了。
- 现在,当我打开 Organizer 并转到“设备日志”时,它会显示一个新的崩溃日志文件。
- 但它无法表示我的应用程序的符号。所有 Apple 图书馆的东西都很好地符号化了。
我在网上搜索了一下,似乎没有任何效果。
编辑:在build设置中,如果我禁用“复制期间删除调试符号”,即使是发布构建,一切都正常。但我猜 Xcode 应该能够使用 dSYM 文件进行符号化。我不想分发带有调试符号的应用程序。
提前致谢。
最佳答案
本文将有助于找出问题所在:http://support.hockeyapp.net/kb/how-tos-faq/how-to-solve-symbolication-problems
既然你说你在 Release模式下运行
,那么设备上运行的版本不是你存档的版本!因此,如果 DerivedData
目录中已有可用的发布版本,它将采用该版本。否则它将创建一个新版本并安装该版本。
现在符号化不起作用有两种可能:
- 您稍后要进行另一个发布构建,因此之前的构建和 dSYM 会被覆盖(请参阅上面链接中的解释)
- Spotlight 在崩溃报告中找不到带有 UUID 的 dSYM 和应用程序二进制文件(请参阅上面链接中的解释以验证这一点)
更新:关于剥离符号的注意事项:当您没有按照编辑的帖子中提到的那样剥离符号时,符号化已经在设备上完成。但是你当然会错过行号。
关于ios - XCode 4.6 管理器不表示我的应用程序崩溃堆栈跟踪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15309116/