每当我尝试在Xcode中查看项目的特定故事板时,我都会收到一个奇怪的错误。当我单击文件目录中的故事板时,我收到一条警告,其中显示“Interface Builder无法确定”Main.storyboard“的类型。这可能是由于缺少SDK。”
这只发生在这个特定的故事板上,我尝试创建另一个故事板,我能够很好地查看它。当我能够打开故事板时,我尝试恢复到项目的先前版本,但奇怪的是,这不能解决错误,我得到相同的警报。我也尝试在早期版本的Xcode中打开该项目,但无济于事。
如果它提供了更多的上下文,当我尝试构建“无法完成操作的项目时,我得到的故事板出现错误。(com.apple.InterfaceBuilder错误2001。)”
有关导致此问题或如何解决问题的任何想法?
答案 0 :(得分:13)
我有同样的问题。我不会删除它,而是使用grep在我的项目目录中找到该文件,即'$ grep -r“Main.storyboard”。'
一旦找到它,就可以使用编辑器(vim或者emacs)查看实际文件,因为它可能已损坏,但在我的情况下,我合并了一个在automerge期间附加到文件的分支:
<<<<<<< HEAD
document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="10116" systemVersion="15E65" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" initialViewController="gHi-tD-tmJ"
=======
document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="10116" systemVersion="15E65" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" initialViewController="BYZ-38-t0r"
>>>>>>> develop
如果您碰巧遇到与我相同的问题,只需删除此处的头部或尾部 - 无论您不想要的是什么。如果您在解决冲突方面遇到问题,请参阅:
https://githowto.com/resolving_conflicts
或
https://help.github.com/articles/resolving-a-merge-conflict-from-the-command-line/
答案 1 :(得分:3)
这比你想象的要简单。
错误是因为你在Main.storyboard的源代码上输错了一些内容,例如我不小心在Main.storyboard的第一个打开标记之前放了一个“ƒ”。
1)你必须做的是删除Main.storyboard(选择throw to Trash)
2)转到垃圾箱,将Main.storyboard移动到桌面,用任何文本编辑器打开并修复代码;然后“全选”和“复制”。
3)在Xcode上,创建一个全新的Main.storyboard,然后按右键单击文件并选择Open As - &gt;源代码,然后粘贴您在剪贴板上的固定代码。
4)右键单击文件并选择Open As - &gt; “界面生成器 - 故事板”。
希望它适合你。
答案 2 :(得分:0)
我希望它能奏效。
答案 3 :(得分:0)
我收到此错误是因为我将xml格式直接复制并粘贴到xib文件中。这导致了未知的文件结尾。一旦我转换为UNIX行结尾,编译的解决方案没有错误。
答案 4 :(得分:0)
如果您已解决冲突但仍有此问题,请关闭XCode并重新打开您的项目。这对我有帮助。
答案 5 :(得分:0)
对于那些对此技术无效的人,请尝试一下并看看会发生什么。值得上大学。
尝试在情节提要代码编辑器视图中的代码顶部更改toolsVersion入口值。然后导航到其他文件,然后再次返回。看看是否可以重置情节提要。