OK, this issue is discussed in this thread, this thread and this thread. However, none of the "answers" seemed to actually address the issue.
This weekend, I submitted my app for beta-test review -twice. It bounced each time. It is now back in review again, and hasn't bounced (fingers crossed).
Each time, was because of an immediate launch crash. Fair enough. I wrote a bad app.
Except I didn't. When I tested in debug, and even release mode on my device and in the simulator, everything worked.
I was finally able to reproduce the issue by archiving and then manually installing the archive through iTunes.
Once I did that, it suddenly started happening when I ran in release mode in the debugger.
Hate it when that happens.
In any case, it was the 'dyld_fatal_error'. In my case, no matter what I did, I couldn't get it to spit out any information at all about what library it was having issues with. The crash reports I got back from Apple were worthless.
What finally solved it for me was basically completely dismantling my app, and putting it back together again. I removed all linked libraries (they are still gone), revoked every one of my certs, and rebuilt the profiles. I de-linked my tests, and re-linked them.
I used to live in Africa. I have a for-real Ju-Ju stick, which I shook at the device for good measure.
Something in there worked (I think, I still have to get a pass from Apple). My money is on the Ju-Ju stick.
The question is: Does anyone know of a DEFINITIVE (not all these WAG responses) reason for this error, and how it can be diagnosed?