A: 

Check the value returned by

#pragma mark Application's Documents directory

- (NSString *)applicationDocumentsDirectory {
    return [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
} 

I believe this should be:

- (NSString *)applicationDocumentsDirectory {
    return [(NSArray *)NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
} 
falconcreek
`-lastObject` will just cause a nil to come back which *should* give him an error on launch.
Marcus S. Zarra
A: 

Start off by running in the debugger with a breakpoint on objc_exception_throw which will cause your app to stop just before it crashes so you can see what the offending line of code is. That will tell you what is causing the problem.

Marcus S. Zarra