Reputation: 18139
I have two related questions actually:
If I want to be able to symbolicate crash logs from a distribution build (that is, a build I gave to someone to beta test my application - not one that is already in the appstore), should I disable the "Strip Linked Product"
and "Strip Debug Symbols During Copy"
options for debug or for release? In fact, would it cause any kind of problem is I disable both of them forever (even in my appstore submission)?
If I distributed a build to a beta tester, but it had enabled the "Strip Linked Product"
and "Strip Debug Symbols During Copy"
options, is there still a way to symbolicate their crash logs?
Upvotes: 6
Views: 1439
Reputation: 17186
If you have distributed your application through build -> archive, you will have dSYM file associated with it. Now when you get crash report, there is no need to do anything. Drag the crash report into Xcode and it will be automatically get added to you Organizer section. If valid archive and dSYM file is available, Xcode will automatically symbolicate the crash log for you.
Upvotes: 2
Reputation: 18122
When you create an Archive (Build > Archive), the archive bundle will have a folder called dSYMS that contain dSYM
file(s) (debug symbols file) for your application and other linked libraries. This means you can strip debug symbols from your products but keep the dSYM
files to symbolicate crash reports. This post has more information on how to use the atos
tool to symbolicate a crash report provided that you have the app binary and dSYM
files.
In general, Debug builds have Strip Debug Symbols During Copy set to NO
, and Release builds have it set to YES
to reduce the binary size.
Upvotes: 3