iOS App仅在iPad Pro上崩溃:NSUnknownKeyException

时间:2015-12-23 16:16:56

标签: ios xcode cordova ipad

我有一个用户报告,我的应用程序在他的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。据我所知,那里没有问题: Screen shot of MainViewController.xib and outlets

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,我很高兴发送下载代码。

1 个答案:

答案 0 :(得分:3)

这是一个令人尴尬的简单问题:不知道如何,但主界面框仅滚动到MainViewController.xib for ipad。对于Cordova应用程序,它应该是空白的,它位于“部署信息”页面的默认iPhone视图中。当我点击iPad按钮时,显示错误的选择。消除它,重新编译,一切都很好。 screen shot of deployment info showing ipad main interface choice as mainviewcontroller