【问题标题】:Interface Builder was unable to determine the type of "Main.storyboard". This may be due to a missing SDKInterface Builder 无法确定“Main.storyboard”的类型。这可能是由于缺少 SDK
【发布时间】:2022-03-20 19:12:41
【问题描述】:

每当我尝试在 Xcode 中查看项目的特定情节提要时,都会遇到一个奇怪的错误。当我单击文件目录中的情节提要时,我收到一条警报,内容为“Interface Builder 无法确定“Main.storyboard”的类型。这可能是由于缺少 SDK。”

这只发生在这个特定的故事板中,我尝试创建另一个故事板并且能够很好地查看它。当我能够打开故事板时,我尝试恢复到项目的先前版本,但奇怪的是,这并不能解决错误,我得到了同样的警报。我也尝试在早期版本的 Xcode 中打开该项目,但无济于事。

如果它提供更多上下文,当我尝试构建项目时收到的情节提要错误,显示为“无法完成操作。(com.apple.InterfaceBuilder 错误 2001。)”

关于导致此问题的原因或如何解决此问题的任何想法?

【问题讨论】:

  • 该故事板已损坏。
  • 我明白了。有什么办法解决吗?
  • 您正在使用哪个版本的 Xcode 以及故事板创建/上次修改的 Xcode 版本?
  • 你能把那个故事板上传到某个地方以便我们看到错误吗?

标签: ios xcode swift


【解决方案1】:

我也有同样的问题。我不会删除它,而是使用 grep 在我的项目目录中找到该文件,即 '$grep -r "Main.storyboard" .'

找到它后,您可以使用编辑器(vim 或 emacs)查看实际文件,因为它可能已损坏,但在我的情况下,我在自动合并期间合并到附加到文件的分支中:

    <<<<<<< 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/

【讨论】:

    【解决方案2】:

    这没有你想象的那么复杂。

    这个错误是因为你在 Main.storyboard 的源代码上打错了一些东西,例如我不小心在 Main.storyboard 的第一个打开标签前放了一个“ƒ”。

    1) 你必须做的是删除 Main.storyboard (select throw to Trash)

    2) 前往垃圾箱,将 Main.storyboard 移至桌面,使用任何文本编辑器打开并修复代码;然后“全选”和“复制”。

    3) 在 Xcode 上,创建一个全新的 Main.storyboard,然后右键单击文件并选择 Open As -> Source code,然后粘贴您在剪贴板上的固定代码。

    4) 右键单击​​文件并选择 Open As -> "Interface Builder - Storyboard"。

    希望它对你有用。

    【讨论】:

      【解决方案3】:

      我收到此错误是因为我将 xml 格式直接复制并粘贴到 xib 文件中。这导致了未知的文件结尾。一旦我转换为 UNIX 行结尾,解决方案编译时不会出现错误。

      【讨论】:

        【解决方案4】:

        如果您已解决冲突但仍然存在此问题,请关闭 XCode 并重新打开您的项目。这对我有帮助。

        【讨论】:

          【解决方案5】:

          对于那些不适合这种技术的人,试试这个,看看会发生什么。值得一试。

          尝试在情节提要代码编辑器视图中将 toolsVersion 条目值更改为代码顶部。然后导航到另一个文件,然后再次返回。看看这是否会重置情节提要。

          【讨论】:

            【解决方案6】:

            您只需要更改文件Main.storyboard 的任何问题,就我而言,我不知道为什么在我在vscode 中工作时的一些要求之后,在项目的开头添加了一个“X”。

            【讨论】:

              【解决方案7】:
              1. 如果有,请从工作副本中丢弃文件。
              2. 并应用存储。
              3. 解决冲突并重新运行。

              我希望它会起作用。

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 2015-04-08
                • 2012-02-12
                • 1970-01-01
                • 1970-01-01
                • 2019-08-04
                • 1970-01-01
                • 2019-05-22
                • 1970-01-01
                相关资源
                最近更新 更多