简体   繁体   中英

Can I still symbolicate a distribution build that stripped its debug symbols?

I have two related questions actually:

  1. 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)?

  2. 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?

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.

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.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM