我在Xcode6中创建了一个项目,测试版6左右(今天升级到b7)。使用Swift,开发iOS 8 SDK等等。
到目前为止,Storyboard有两个视图控制器,两者之间有一个segue设置为" Show" (它不是直接由按钮触发,它是由成功登录处理的)
一切都很时髦。然后我尝试在iOS 7.1模拟器上运行该应用程序。它会在第一个屏幕上消失,并显示以下消息:
*** Terminating app due to uncaught exception
'NSInvalidUnarchiveOperationException',
reason: 'Could not instantiate class named
UIStoryboardShowSegueTemplate'
好吧,看看" Show"被列为"自适应Segue",自适应UI几乎是iOS 8的概念,因此iOS 7会有问题。
因为他们已经基本上说过了#34;看起来,这就是我们以前称之为Push",我想我会将Segue改为"推和" Push& #34 ;.当然,它已经被弃用了,但是当iOS 8接管时我只会放弃它。
除非我使用它,否则会收到警告
好吧,我不想看到一些恼人的警告,但我不确定我是否还想放弃iOS 7的兼容性(虽然它不是不可能的)。这不是代码,所以我无法抑制警告(或者我不知道如何)。
如何在Xcode 6中制作一个在iOS 7和8中都很开心的故事板谜题?
答案 0 :(得分:20)
您仍然可以在iOS 7中使用新的Segue类型(例如Show)。确保在Storyboard界面构建器文档中,将“Builds for”设置为iOS 7而不是iOS8。 (抱歉屏幕截图已准备就绪,但我没有足够的声誉发布)
在File Inspector
内选择最低的:
答案 1 :(得分:1)
因为我的项目也遇到了同样的问题。我通过重新检查应用程序中定义的所有segues来解决此问题。确保所有segues都有一些动作,如push / pop / modal。
如果没有,则该控制器应用程序将崩溃。请查看您在故事板中找到的以下快照。
您的故事板图片看起来像第一张图片。
选择固化segue。