I have added all of the relevant code to the App Delegate, and I am able to add to the data model and fetch from the data model in applicationDidFinishLaunchingWithOptions.<
If you are using segues you will get the same problems if you don't pass the context down the line. Use this code in the prepareForSegue method of class initiating the segue:
[[segue destinationViewController] setManagedObjectContext:self.managedObjectContext];
That assumes you hold your context in a property called "managedObjectContext" of course.