无法打开“Main.storyboard”。多个元素的 ID 为“Dsa-PS-aBW”

Posted

技术标签:

【中文标题】无法打开“Main.storyboard”。多个元素的 ID 为“Dsa-PS-aBW”【英文标题】:"Main.storyboard" could not be opened. Multiple elements have the ID "Dsa-PS-aBW" 【发布时间】:2015-07-08 04:10:18 【问题描述】:

我使用比特桶。它工作正常,但从昨天提交后,推拉我们无法打开情节提要,它告诉我----“Main.storyboard”无法打开。多个元素的 ID 为“Dsa-PS-aBW”

谁能告诉我如何解决这个问题?或者我怎样才能找回我以前的代码??

【问题讨论】:

只需查看运行良好的旧提交即可。如果你用编辑器打开 storyboard 文件,你会发现所有的对象都有自己的 id 值(必须是唯一的)。我不确定您是否可以自己更改值,但值得在检查旧提交之前尝试更改值。 【参考方案1】:

以下问题中较长的回答彻底解释了如何解决重复的 id。

Xcode:The identifier IBMemberID xxx-xx-xxx is already in use by <IBUITableView: 0x7fc17df3b720>

Storyboard 合并冲突是 XCode 的一个小问题。如果您搜索的话,有一些博客会提供策略。

关于取回您之前的代码,如果您还没有提交,您可以在 XCode 中执行以下操作:

Source Control > Discard All Changes

如果您已提交或 XCode 在放弃更改后仍然抱怨,您可以查看您的最后一次提交。您可以通过终端获取该提交的 7 位哈希:

$ git reflog

然后像任何分支一样检查提交:

$ git checkout [7-digit hash]    

例子:

$ git checkout a2c4e6g

您将处于超然状态,但没有问题。阅读:Git create branch where detached HEAD is

【讨论】:

【参考方案2】:

右键单击 xib 或故事板,然后作为源代码打开。然后使用您的 ID 搜索(对于您的情况,它是“Dsa-PS-aBW”),您应该会看到 2 个引用,只需删除其中任何一个即可。 这将帮助您在不丢弃任何内容的情况下解决问题。

【讨论】:

【参考方案3】:

我就这样解决了这个问题

打开作为源代码存在问题的情节提要或 xib 并搜索 ID(例如“Dsa-PS-aBW”)

你应该至少有两个并删除其他

【讨论】:

以上是关于无法打开“Main.storyboard”。多个元素的 ID 为“Dsa-PS-aBW”的主要内容,如果未能解决你的问题,请参考以下文章

打开大型 Main.storyboard 时 Xcode 挂起/意外退出

如何通过编码管理 .storyboard 或 .xib 文件中的多个视图。?

Interface Builder 无法确定“Main_iPad.storyboard”的类型

无法在 iOS 13 上更改 Main.storyboard 的名称 [Xcode 11 GM 种子 2]

如何修复 ibtool 失败并出现 Main.storyboard 错误:shouldBeArchived 无法识别

The document “Main.storyboard” requires Xcode 8.0