Xcode: Should I Strip Debug Symbols During Copy? Xcode: Should I Strip Debug Symbols During Copy? xcode xcode

Xcode: Should I Strip Debug Symbols During Copy?


I work at TestFlight. Short answer is: set it to YES.

Long answer:

@Kerni is correct. Before we started symbolicating server side, we needed that data to symbolicate on device.

So if you upload your dSYM to TestFlight, you can strip them. If you don't want to upload your dSYM for some reason, you can leave them in and TestFlight can symbolicate on device.

Basically the README was not updated. Sorry @Manni! I will update it for the next release. (I'm going to remove that entire section).

Sorry about the confusion!


If the default setting is YES, there is no need to do anything else.

In general this setting makes sure that debug symbols are not part of the distributed binary which reduces the file size by 30-50%. The debug symbols should instead be written to the dSYM DWARF file, which can later be used to symbolicate crash reports.


The TestFlight SDK recommends to set this setting to NO, not to YES:

To enable the best crash reporting possible we recommend setting the following project build settings in Xcode to NO for all targets that you want to have live crash reporting for. You can find build settings by opening the Project Navigator (default command+1 or command+shift+j) then clicking on the project you are configuring (usually the first selection in the list). From there you can choose to either change the global project settings or settings on an individual project basis. All settings below are in the Deployment Section.

  • Deployment Postrocessing
  • Strip Debug Symbols During Copy
  • Strip Linked Product

Bugsense (http://www.bugsense.com/pages/faq) also recommend this setting with this explanation:

Why do I get memory dumps instead of the stack trace for my iOS app?
iOS apps usually don’t include debugging information or this information is included in a special file with the extension dSYM (debugging SYMbols). To turn on (and include in your binary) debugging information for your iOS app you must set to NO a project setting called “Strip Debug Symbols” for all project configurations.