我已经将我的项目从iOS 7迁移到了iOS 8,保持了iOS 7的支持。因为我已经重新做了所有的图形,我扔掉了旧的故事板,并创建了一个新的使用新的通用故事板和大小类。
对于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的临时故事板?还是有别的办法?
编辑:
在一些测试中,我发现抛出异常的方法是:
[storybord instantiateInitialViewController];或
[storyboard instantiateViewControllerWithIdentifier:@"id"];我已经用一个空的故事板启动了应用程序,并在应用程序委托中加载了我的故事板。故事板不是零,但应用程序崩溃的方法。加载一个非初始的视图控制器不会改变结果。
发布于 2015-03-19 00:07:54
我也遇到了同样的问题,并将其缩小到了一个集合视图,即我为我的小型/任意大小类安装了一个集合视图,但为我的any/任意大小类卸载了它。当prototype单元格所属的集合视图卸载到active size类中时,iOS 7似乎遇到了问题。在iOS 8上运行很好,所以如果您只支持iOS 8及更高版本,就不会遇到这个问题。
原型单元格活动(不工作):

已删除的原型单元格(Works):

为了解决这个问题,我将创建一个xib,它将以编程方式加载到iPad上,并保留故事板,以便在iPhone上使用。由于所讨论的视图不需要iPad上的集合视图,xib应该非常简单,但是从维护的角度来看,它仍然很糟糕。
发布于 2015-03-04 09:19:24
我终于能够解决这个问题,我发现在viewController中有一个插座的元素只有iphone类(我忘了将它添加到常规\规则大小类中),这导致了错误。
将它添加到正则\规则大小类解决了这个问题
https://stackoverflow.com/questions/28810237
复制相似问题