我修复了MainStoryboard.storyboard中的一些冲突后,Xcode发生了构建错误:
Command /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/ibtool failed with exit code 255
ibtoold[26299:507] [MT] DVTAssertions: ASSERTION FAILURE in /SourceCache/IDEInterfaceBuilder/IDEInterfaceBuilder-5056/InterfaceBuilderKit/Document/IBObjectContainer.m:363
Details: The identifier '<IBMemberID: 6mN-WX-Cqa>' is already in use by <IBUITableView: 0x7fc17df3b720>
Object: <IBObjectContainer: 0x7fc17ac1d920>
Method: -validatedIdentifier:
Thread: <NSThread: 0x7fc17ad19b30>{name = (null), num = 1}
Hints: None
我在stackoverflow上发现了许多类似的问题,但不适合我,包括:
Clean project
Delete Derived Data
Restart Xcode
我想找到IBMemberID: 6mN-WX-Cqa
所在的确切行,但似乎很难。
提前致谢!
答案 0 :(得分:19)
我遇到了同样的问题。对我来说,就在从一个Git 分支合并到Master Branch之后,当试图查看 StoryBoard时,XCode卡住了然后意外退出。然后我搜索了一下,然后, 我在上面的回答中得到了@Vijayts的提示。但因此,它的一步就是不同。
查看与bug相关的StoryBoard(某些项目可能有多个故事板)作为源代码,右键单击它&gt;打开作为&gt;源代码。
将ID复制出来,
IBMemberID:6mN-WX-Cqa
这是 6mN-WX-Cqa 部分。
搜索该ID。确保它可能在StoryBoard源代码中重复,很可能在两个位置。该ID用于UI元素。可以是按钮,标签或文本字段,甚至是UIImageView等。
确定重复元素,要保留哪个元素以及应删除哪个元素。您可以通过其属性来识别元素,例如x,y,宽度,高度,文本,颜色等。如果您最初可以识别它,并且使用相同的IBMemberID复制但具有不同的属性值,则会更容易。
您在Interface Builder中添加的这些元素现在显示为XML元素,因为它处于源代码模式。 因此请小心删除整个不需要的(重复的)XML元素。起初我也害怕删除这些XML元素。但是将这些ID更改为独特的并不适合我。
然后清理项目并尝试构建它。最有可能的是无法构建。这是因为可能发生了同样的错误,但是使用了新的IBMemberID。 重复相同的过程,直到Build成功完成。
在完成所有这些之后,现在我可以很好地在Interface Builder中查看StoryBoard。
所以最后希望这个答案可以节省一些宝贵的地球人时间,希望不要浪费你的阅读时间。
干杯!
答案 1 :(得分:6)
1)右键单击Xcode项目浏览器中的Storyboard文件,然后选择“打开为 - &gt;源代码”。
2)搜索重复的标识符(在您的情况下为“6mN-WX-Cqa”)。将出现两次或更多次作为UI元素的id。 (在我的情况下是UIButton和UILabel)。
3)手动更改其中一个ID的值,以确保它是唯一的。
保存并构建您的项目。