Xcode 7 ibtool错误:部署故事板对iOS 8.0的引用要求您的故事板不共享任何视图控制器标识符
我有一个针对iOS 8和9的iOS应用程序,我正在升级到使用Storyboard引用而不是通过代码的链接。 我已经逐渐转换越来越多的比特,突然间,我开始得到这个编译器错误:
:错误:将故事板引用部署到iOS 8.0需要您的故事板不共享任何视图控制器标识符。 A.storyboard和Z.storyboard都包含一个标识符为“ZNavigationController”的视图控制器。
Z.storyboard
绝对包含ZNavigationController
,它应该在那里,但是A.storyboard
肯定不包含任何这样的导航控制器。 我已经在文本编辑器中打开了.storyboard文件,并validation了没有提到ZNavigationController
。
给更多的上下文:
-
A.storyboard
有一个A.storyboard
的引用,它有一个来自A
的viewControllers的手动segue -
B.storyboard
有一个对Z.storyboard
的引用 – 它通过B
的viewControllers之一的手动segue到达那里
运行转基因种子构build的XCode版本7.0(7A218)
发现问题(我正在使用Xcode 7.1.1)。
在使用产品 – >重构到故事板后,它会创build一个故事板参考,故事板ID与参考ID(属性和身份检查器)相同。
这是一个错误,故事板ID应该是零,只有参考ID应该填充。
更新#1:使用“重构到故事板”创build多个故事板参考时,它会创build导致此错误的相同对象ID。
更新#2:只要不使用“重构到故事板”function,如果你的目标iOS 8。它创build多个与objectId的双重,这会导致一个错误,如:
/* com.apple.ibtool.errors */ : error: Deploying Storyboard References to iOS 8.0 requires that your storyboards do not share any view controller identifiers. Category.storyboard and Home.storyboard both contain a view controller with identifier "UIViewController-BX3-FJ-k0T".
我做了更多的挖掘,事实certificate,尽pipeA.storyboard
没有任何的故事板ID, B.storyboard
和Z.storyboard
中都有一个控制器,它们都有Z.storyboard
的Storyboard ID。 B.storyboard
有一个我删除了不正确的ID。
看起来像Xcode错误的(正确)错误A.storyboard
而不是B
首先你需要find哪个引用加倍UIViewController-5kv-Ul-Bah – 这是我的错误
按cmd + 3并inputid( 5kv-Ul-Bah )而不用“ UIViewController- ”find加倍的参考
你应该看到这样的东西
在我的情况下,它是InvitationDetails.storyboard和Location.storyboard
你有2个选项:
选项1 :从故事板中删除故事板参考并添加另一个(使用我的其他说明https://stackoverflow.com/a/33753164/2493555 )
选项2 :打开新创build的故事板作为源代码
然后find我们的id并将其更改为另一个像“5kv-Ul-Bahxx” (我添加了xx后缀),但是您需要确保string“5kv-Ul-Bahxx”不存在于项目中(通过按cmd + 3和找)
- 点击有问题的故事板参考
- 打开身份检查员
- 删除“故事板ID”。
据我所知,没有必要引用一个引用,这似乎是它抱怨的事情。 当您使用“重构到故事板”时,它将故事板ID留在引用中。