Debugging an iOS TestFlight crash

Finally got my app into TestFlight today and it crashes right after the splash screen.

The crash reports don’t seem to have symbols that work in xcode - i.e. callstacks are a bunch of fairly useless [to me] addresses. Any suggestions on how to get information out to diagnose the problem?

FWIW I’ve tried deleting the app and reinstalling, deleting saved and intermediate folders prior to packaging.

Current settings:

Under Packaging - Project

  • Full Rebuild - Checked
  • For Distribution - Checked
  • Include Debug Files - Checked

Under IOS - Build

  • Generate dSYM file for code debugging and profiling - Checked
  • Generate dSYM file for third party crash tools - NOT Checked

Without any pointer I guess I’ll try packaging a minimal test build, or a version of my app that is cut right down and does nothing. Would be nice to have some useful diagnostics though!

I’m building another build with that last option checked, the project is a source build (for a tiny engine mod) so changing these flags, testing and waiting for the crash report to show is an extra long process.

YEah, that didn’t help.

Anyone know how to get C++ debug symbols linked to a TestFlight build?

Another question would be how to get a useful log. I have logs from my App, but they just seem to contain the stack traces and state information, not history or output from the app which could be very handy.

And actually my standard launch from editor fails with that final setting specified:

LogPlayLevel: Program.Main: ERROR: AutomationTool terminated with exception: AutomationTool.AutomationException: BUILD FAILED /Users/thomasshepherd/MM/Matchoo/Binaries/IOS/Matchoo.dSYM was in manifest but was not produced.
LogPlayLevel:   at AutomationTool.UE4Build.AddBuildProductsFromManifest (System.String ManifestName) [0x00000] in <filename unknown>:0
LogPlayLevel:   at AutomationTool.UE4Build.BuildWithUBT (System.String TargetName, UnrealTargetPlatform TargetPlatform, System.String Config, UnrealBuildTool.FileReference UprojectPath, Boolean ForceMonolithic, Boolean ForceNonUnity, Boolean ForceDebugInfo, Boolean ForceFlushMac, Boolean DisableXGE, System.String InAddArgs, Boolean ForceUnity, System.Collect

Perhaps this is useful: http://

Another useful looking link: Symbolicating an iOS crash log without the original dSYM file (Example)

I’ve stopped all my own C++ from running and as expected nothing changed Expected because I think this is earlier in the startup process than my code. Nothing changed meaning still getting a startup crash rather than the black screen I get running in editor.

Turns out that an development ipa added through itunes crashes in a similar way too. This is good! Running development ipas prior to uploading builds will now be part of my process.

Remembering that I have old blacklists from before I used slate I’ve tried removing slate from the blacklist but that didn’t help.

Now I’m removing everything from the blacklist files.

How can I debug a development ipa? If launched from xcode then I get the missing ICU error that as I remember it implies the code isn’t finding data, but is this the same problem the packaged build is having or just because I ran from xcode?

I never did get a decent approach to debugging testflight so I’m leaving the question open. I did fix my crash. The problem was not stripping Slate assets but the “Internationalization” directory.

What is this directory exactly and why does it only cause crashes on iOS? A question for another thread I suspect.

…/…/…/Engine/Content/Internationalization/

Okay. Had another crash, had another go. The links I posted earlier provide the solution with:

  1. Right click on your .xccrashpoint and extract the .crash file
  2. alias your symbolicatecrash command: alias symbolicatecrash=‘/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash’
  3. symbolicatecrash Crash170_1.crash Matchoo170.dSYM
  4. You may need to define DEVELOPER_DIR (you’ll get an error if you do): export DEVELOPER_DIR=‘/Applications/Xcode.app/Contents/Developer’

Then fingers crossed and wait a while and boom lots of nice debug callstacks.