Skip to content

Instantly share code, notes, and snippets.

Last active May 18, 2018 19:25
What would you like to do?
Process the Unity generated Xcode project to allow dSYM generation on Release but keeping the distribution size the same, only tested in a clean generated project.
// Adjust dSYM generation
var xcodeProjectPath = Path.Combine(xcodeProjectDir, "Unity-iPhone.xcodeproj");
var pbxPath = Path.Combine(xcodeProjectPath, "project.pbxproj");
var sb = new System.Text.StringBuilder();
var xcodeProjectLines = File.ReadAllLines(pbxPath);
foreach (var line in xcodeProjectLines)
// Remove from OTHER_LDFLAGS
if (line.Contains("-Wl,-S,-x"))
// iOS Default when not present is dwarf-with-dsym
if (line.Contains("DEBUG_INFORMATION_FORMAT"))
// Replace line to stripping on postprocess deployment flags
sb.AppendLine("\t\t\t\tDEPLOYMENT_POSTPROCESSING = YES;");
sb.AppendLine("\t\t\t\tSEPARATE_STRIP = YES;");
sb.AppendLine("\t\t\t\tSTRIP_INSTALLED_PRODUCT = YES;");
// Defaults to Yes
if (line.Contains("COPY_PHASE_STRIP"))
// Defaults to Yes
File.WriteAllText(pbxPath, sb.ToString());
Copy link

MehYam commented Aug 23, 2013

Thanks for posting this, very useful.

Copy link

Thanks a lot dude! That saved my life. S2

Copy link

tenpn commented Dec 24, 2014

I forked this and wrapped it in a build post-processor. Just drop into your project and future builds will have crash info enabled.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment