Xcode:标识符IBMemberID xxx-xx-xxx已由<IBUITableView使用:0x7fc17df3b720>

当我修复MainStoryboard.storyboard中的一些冲突后,Xcode发生了构build错误:

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 

我想findIBMemberID: 6mN-WX-Cqa确切线,但看起来很难。

提前致谢!

Xcode:标识符IBMemberID xxx-xx-xxx已被使用

问题的原因

我有同样的问题。 对我来说,就是从一个Git分支合并到主分支之后,当试图查看StoryBoard时,XCode卡住了,然后意外退出 。 然后我search了一下,然后在上面的答案中得到了@Vijayts的提示。 但是,因此,其中的一步是不同的。

解决问题:

  1. 查看与该bug有关的故事板(某些项目可能有不止一个故事板)作为源代码,右键单击它>打开为>源代码。

  2. 将ID从中复制出来,
    IBMemberID:6mN-WX-Cqa
    这是6mN-WX-Cqa部分。

  3. search该ID。 确定它可能已被复制,最有可能在 StoryBoard源代码中的两个位置 。 该ID用于UI元素。 可能是一个button,标签或文本字段,甚至UIImageView等

  4. 决定重复的元素 ,保留哪个元素以及哪个元素应该删除。 您可以通过它们的属性来识别元素,如x,y,宽度,高度,文本和颜色等。 如果您可以首先识别已使用相同的IBMemberID但具有不同的属性值的文件,则更容易。

  5. 您在Interface Builder中添加的这些元素现在以源代码模式显示为XML元素。 所以要小心删除整个不需要的(重复的)XML元素 。 起初我也害怕删除这些XML元素。 但改变这些ID是唯一的不适合我。

  6. 然后清理项目并尝试构build它。 很可能它将无法build立 。 那是因为可能发生了同样的错误,但是新的IBMemberID。 重复相同的过程,直到Build可以成功完成

所有这些之后,现在我可以很好地在界面生成器中查看StoryBoard。

所以最后希望这个答案可以节省一些有价值的地球人时间,希望不是浪费你的时间阅读。

干杯!

1)右键单击Xco​​de项目浏览器中的Storyboard文件,然后select“作为 – >源代码打开”。

2)search重复的标识符(“6mN-WX-Cqa”)。 将会有两次或更多的事件作为你的UI元素的ID。 (在我的情况是UIButton和UILabel)。

3)手动更改这些ID之一的值,以确保其唯一性。

保存并build立您的项目。