I'm wanting to have a bunch of people beta test my app on their phones soon. In the event that the app crashes, what's the best way for them to send me a bug report?
My own experience: I used Flurry as the analytics tool in my project. I followed Flurry's recommendation and set up an uncaught exception listener inside my code.
void uncaughtExceptionHandler(NSException *exception) {
[FlurryAPI logError:@"Uncaught" message:@"Crash!" exception:exception];
}
- (void)applicationDidFinishLaunching:(UIApplication *)application {
NSSetUncaughtExceptionHandler(&uncaughtExceptionHandler);
[FlurryAPI startSession:@"my_API_here"];
....
}
And then I tested my app, and after several hours' delay, I was able to see a few crashes reported to Flurry. Things like this:
NSInvalidArgumentException: -[NSCFString objectAtIndex:]: unrecognized selector sent to instance 0x2e1b30 Msg: Crash!
It's neither complete nor thorough, but it was a convenient way to have a basic sense of what's going on out there in the wild.