[pull request] Offer dSYM option for XCode export


#1

I usually distribute stripped binaries, to make it harder to look into how I'm doing things. Yet, when something crashes on a customer machine, I still want to see a stack trace. For exactly this use case, XCode has the dSYM debug file format. dSYMs work both with debug and release builds.

The attached patch adds a checkbox to the Introjucer XCode exporter that you can tick to enable dSYM generation.


#2

Hi,

I am improving some things in the Xcode exporter part of the Introjucer right now anyway, so I'll take a look at your request, looks good!


#3

This doesn’t seem to have been added, right? A dsym on/off checkbox would be really great!


#4

+1


#5

While this isn’t included, for builds, using xcodebuild and shell scripts are safer and wiser.

with the following we’re producing dSYMs:

EXTRA_ARGS="GCC_GENERATE_DEBUGGING_SYMBOLS=YES STRIP_INSTALLED_PRODUCT=YES DEBUG_INFORMATION_FORM$
GCC_PREPROCESSOR_DEFINITIONS=\$GCC_PREPROCESSOR_DEFINITIONS

and we have a script to collect all dSYM and we easily symbolicate crashes.
(our release binaries are stripped).

that’s pretty much our script essence.

# copy symbols
cd "$PLUGIN_FULL_PATH/Builds/$PLATFORM_PATH/$CONFIGURATION/"
# simple way to avoid the entire folder structure...
if [ "$BUILD_TYPE" != "" ]; then
  SYM_ARCHIVE="$SYM_PATH/$PRODUCT_NAME"_"$PLATFORM"_"$BUILD_TYPE"_"$GIT_REV"_sy$
else
  SYM_ARCHIVE="$SYM_PATH/$PRODUCT_NAME"_"$PLATFORM"_"$GIT_REV"_sym.tar.gz
fi

tar -czvpf $SYM_ARCHIVE ./*.dSYM || exit 1