The Problem
I run my unit tests. At one point, I wait using:
[[NSRunLoop currentRunLoop] runUntilDate:[NSDate dateWithTimeIntervalSinceNow:1]];
for an NSOperationQueue to be empty. When my app reaches this line, it terminates immediately. It's run this exact same line with other tests. All tests were working perfectly recently. It also sometimes terminates my app on startup immediately.
What on earth is going on?