你能帮我把我的车祸符号化吗?
在Xcode7.3中,Window -> Organizer ->崩溃,我有来自最新TestFlight版本的崩溃报告。它们是在此Mac上构建的,并且具有相应dSYM的所有归档都在archives选项卡中。该应用程序分为多个框架和主要应用程序,许多是Swift和Objective C的混合。在崩溃日志中,我可以看到正确列出的框架和应用程序的名称,但我的框架和应用程序的所有条目都是十六进制的。UIKit就是一个很好的象征。
当我查看iTunes连接时,它对“包含符号”说“是”,并允许我下载dSYMs。在构建时,"Debug Information Format“选项被设置为"DWARF with dSYM”。我尝试将“复制过程中的条带调试符号”和“条带链接的产品”设置为“否”,看看是否有区别。事实并非如此。
我在我的系统上找不到symbolicatecrash应用程序,甚至在/usr/bin或/Applications/Xcode.app/Contents/SharedFrameworks/DTDeviceKitBase.framework/Versions/A/Resources/symbolicatecrash,中也找不到,但我有一个较旧的Xcode5,我可以在那里获取它。但是,它不再解析符号。
我在Instruments中也遇到了同样的问题,如果我分析我的应用程序,UIKit符号表示得很好,但我的框架和应用程序只显示十六进制。
我知道有很多关于这个问题的帖子,但我从7.3测试期到现在已经经历了很多,还没有找到解决方案
发布于 2016-10-22 00:09:24
我不会将符号上传到我的应用程序中,因此App Store不能为我提供符号。我使用下面的变通方法来符号化XCode从商店下载的所有崩溃日志。这些说明是针对XCode 8的。same应用程序的路径因XCode版本的不同而有所不同,但每个版本的思路应该是相同的。
在符号器可以找到的地方归档您的符号:将您的符号(.dsym)文件放在您的
/Users/USERNAME/Library/Developer/Xcode/Archives),然后将dsym文件放在那里。它也可以在其他位置,只是我已经验证了这一个崩溃日志:在查找器中,确保你已经下载了你想要符号化的构建的崩溃日志(管理器->崩溃,点击你的应用程序,然后选择你的应用程序的版本列表右侧的面板中的apps)./Users/USERNAME/Library/Developer/Xcode/Products/com.company-name.Your-App/VERSION/Crashescd /Users/USERNAME/Library/Developer/Xcode/Products/com.companyname.Your-App/VERSION/Crashes/ export set DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer(这应该是你的xcode应用程序中“开发者”目录的位置,:symbolicatecrash知道如何使用步骤1中的dsym找到你的符号崩溃日志。苹果将它从一个版本转移到另一个版本。你可以像这样找到它:find /Applications/Xcode.app/ -name symbolicatecrash。在XCode 8中,它位于/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash
/Users/USERNAME/Library/Developer/Xcode/Products/com.companyname.Your-App/VERSION/Crashes/)
for i in `find . -type f -name \*.crash`; do cat $i | /Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash --output $i.sym; mv $i.sym $i; done;
这会将每个崩溃文件符号化到输出文件中,然后将该文件复制回原始的、未符号化的file.
https://stackoverflow.com/questions/36189121
复制相似问题