2015-03-02 92 views
0

我已将我的项目从iOS 7迁移到iOS 8,以保持iOS 7的支持。因为我已经重新制作了所有我丢弃旧故事板的图形,并使用新的通用故事板和尺寸类创建了一个新图形。Xcode 6通用故事板NSKeyedUnarchiver initForReadingWithData错误

一切工作正常的iOS 8的iPhone/iPad的和iOS 7 iPhone,但在iOS 7的iPad,我会不断收到以下错误:

[NSKeyedUnarchiver initForReadingWithData:]: data is empty; did you forget to send -finishEncoding to the NSKeyedArchiver? 

应用程序甚至没有达到application:didFinishLaunchingWithOptions我知道问题是故事板,因为如果我创建一个空的应用程序开始罚款。

我在想什么?我是否需要专门的故事板才能支持iOS 7的iPad?或者有另一种方式?

编辑:

一些测试期间

,我发现,抛出异常的方法是:

[storybord instantiateInitialViewController]; 

[storyboard instantiateViewControllerWithIdentifier:@"id"]; 

我已经有启动的应用空的故事板,并在应用程序代理中加载我的故事板。故事板不是零,而是应用程序在该方法上崩溃。加载不是初始视图控制器的视图控制器不会改变结果。

+0

您是否已从iOS7 ipad/simulator中删除原始应用程序,然后尝试运行?我发现有时旧版本可能会阻碍新版本,尤其是在模拟器上,以及是否做出了重大改变。也关闭模拟器并重新启动,如果这是你正在使用的。 – 2015-03-02 13:41:31

+0

是的,我已经从旧版本清理模拟器,并重新启动它,但没有任何内容 – whtman 2015-03-02 14:38:21

+0

这个人似乎有与你相反的问题:http://stackoverflow.com/questions/28565010/app-crashes-at-run -befor-reaching-my-code-xcode6-1-universal-app-objectiv-c-nske。但不知道我同意他们的答案,因为我有一个应用程序使用iOS7和8的大小限制,它可以在iOS和iOS版本上的iPhone和iPad上正常工作。 – 2015-03-02 15:14:14

回答

1

我有同样的问题,并把范围缩小到,我已经安装了我的紧凑型/任意大小的类集合视图,而卸载了我任何/任何大小的课程。当它们所属的集合视图在活动大小类中被卸载时,iOS 7似乎遇到了原型单元格的问题。在iOS 8上运行效果很好,如果你只支持iOS 8或更高版本,则不会遇到此问题。

原型细胞(S)积极(不工作):删除(工程) Uninstalled Collection View with Prototype Cell

原型细胞(S): Uninstalled Collection View without Prototype Cell

为了解决这个问题,我要建立一个xib将以编程方式加载iPad并保留故事板以便在iPhone上使用。由于有问题的视图不需要iPad上的集合视图,所以xib应该非常简单,但从维护的角度来看,仍然不得不这样做。

+0

嗨Cubd,我认为您的解决方案是正确的,我的情况是一样的你,但因为我需要在这两种iPad和iPhone集合视图我只是使它在iPad上,一切工作。我会将你的答案标记为正确,因为它更完整。 – whtman 2015-03-19 14:05:31

0

我已经终于能够解决它,我发现在viewController中有一个插座的元素只有iPhone尺寸类(我忘了将它添加到常规\常规尺寸类),这导致了错误。

它添加到常规\常规尺寸类解决了这个问题