I had a user report my app was freezing at the launch screen on his iPad Pro but working on all other devices -- an iPhone 6 plus and an iPad Mini all runnning iOS 9.2. I've had no crash reports from this release and can also see other iPad devices running the app fine, so I suspected some local file corruption issue. Just as I was writing the user about how to uninstall reinstall, I tried running the app on the iPad Pro simulator. Boom. He was right. Freezes at the Launch screen and throws an exception. (Yes, my inner Bart Simpson is writing 100x on the Blackboard: Test on all simulators before release).
Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[ setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key view.'
Elsewhere on Stackoverflow this error has been attributed to a bad outlet. As far as I can tell, no issues there:
or a Viewcontroller having a bad class. I'm eliminating that as a candidate as I don't think that would be a single-device failure, and because my app is built in Cordova it hands over to a webview.
The exception gets thrown in main.m, a cordova-generated file:
#import <UIKit/UIKit.h>
int main(int argc, char* argv[])
{
@autoreleasepool {
int retVal = UIApplicationMain(argc, argv, nil, @"AppDelegate");
return retVal;
}
}
I'd also read about issues of improperly formatted launch screens causing problems, and since the launch screen image I added for iPad Pro is a new addition to my code since last version, this was my first suspect. But I've checked pixel sizes and resolutions and all my launch screen images comply to the specs at Apple's developer site.
So. Any ideas what about the iPad Pro alone would cause a freeze immediately on launch? The app's first step is to look for a file written to local storage -- and to write one if it doesn't find it. Again, unless there's something very different about how the Pro handles local storage, I don't think that can be it as that process works across all other iOS devices. If running on actual hardware will help anyone diagnose, the app's here in the app store, and I'm happy to send a download code.