我有一个用户报告,我的应用程序在他的iPad Pro的启动屏幕上冻结,但在所有其他设备上工作 - iPhone 6 plus和iPad Mini都在iOS 9.2上运行。我没有发布此版本的崩溃报告,也可以看到运行该应用程序的其他iPad设备,所以我怀疑一些本地文件损坏问题。就像我在写关于如何卸载重新安装的用户一样,我尝试在iPad Pro模拟器上运行该应用程序。繁荣。他是对的。在“启动”屏幕上冻结并引发异常。 (是的,我内心的Bart Simpson在Blackboard上写了100x:在发布之前对所有模拟器进行测试)。
由于未捕获的异常而终止应用 'NSUnknownKeyException',原因:'[ setValue:forUndefinedKey:]:此类不是键值 符合编码的关键视图。'
在Stackoverflow的其他地方,此错误为attributed to a bad outlet。据我所知,那里没有问题:
或Viewcontroller having a bad class。我将其视为候选人,因为我认为这不会是单一设备故障,而且因为我的应用程序是在Cordova中构建的,所以它会移交给webview。
在main.m中抛出异常,这是一个由cordova生成的文件:
#import <UIKit/UIKit.h>
int main(int argc, char* argv[])
{
@autoreleasepool {
int retVal = UIApplicationMain(argc, argv, nil, @"AppDelegate");
return retVal;
}
}
我还会读到有关格式不正确的启动屏幕导致问题的问题,而且我为iPad Pro添加的启动屏幕图像是自上一版本以来我的代码的新增内容,这是我的第一个嫌疑人。但我检查了像素大小和分辨率以及我的所有启动屏幕图像comply to the specs at Apple's developer site.
因此。有关iPad Pro的任何想法会在发布时立即冻结吗?该应用程序的第一步是查找写入本地存储的文件 - 如果找不到,则写入一个文件。同样,除非Pro处理本地存储的方式有所不同,否则我认为不会因为该流程适用于所有其他iOS设备。如果在实际硬件上运行将帮助任何人诊断,the app's here in the app store,我很高兴发送下载代码。