【问题标题】:The document Main.storyboard requires Xcode 8.0 or later文档 Main.storyboard 需要 Xcode 8.0 或更高版本
【发布时间】:2016-10-17 12:20:49
【问题描述】:

我下载了 Xcode 测试版并打开了我现有的项目,看看它如何与 Xcode 8 测试版一起工作(我从 Xcode 8 打开了 Storyboard 文件)。

现在当我从 Xcode 7.3 打开我的项目时,我无法打开故事板文件,它给了我以下错误

此版本不支持以 Xcode 8 格式保存的文档。 使用 Xcode 8.0 或更高版本打开此文档。

我应该怎么做才能恢复,因为我想继续使用 Xcode 7。

在 Xcode 8 中,我被提示选择设备,我选择了 iPhone 6S,我认为该部分以某种方式导致故事板文件无法在 Xcode 7 中打开

【问题讨论】:

  • 恢复版本控制中的更改
  • @Wain 是的,这始终是一个选项,但我有一些未提交的更改,并且还想知道解决方案(如果不耗时的话)

标签: ios objective-c xcode storyboard ios10


【解决方案1】:

我想通了:

在 Xcode 8 中打开您的 Storyboard。

点击文件检查器。

Interface Builder Document部分,选择Opens In "Xcode 7.x" 而不是"Latest Xcode (8.0)",如下图所示:

执行此操作时,您会收到一条警告,提示“为 Xcode 7.x 保存将关闭您的文档,并且 Xcode 8.0 功能的数据将被删除。”

单击保存并关闭,您将能够在 Xode 7.x 中打开情节提要。

【讨论】:

  • 我无法将更改粘贴,但我所做的是更改它,然后保存并关闭,此时它实际上并没有保存,因为仍然是灰色的,然后我很 Xcode(它挂了) 然后强制退出它,现在情节提要在 Xcode 7 中运行!
  • @Bhumit Mehta 当我有 2 个不同的 ipad 和 iphone 故事板时,它不起作用。仅保存其中之一的更改。请告诉我任何解决方法。
  • @mars :你只需要对两个故事板重复相同的步骤,我在一个测试项目中尝试过,它成功了。
  • Interface Builder 文档在哪里?
  • 但是,如果您再次在 xCode 8 中打开一个项目并进入情节提要 - 您将再次将情节提要文件弄乱,您将不得不再次切换回 7.x - 并且“保存和Cose”再次
【解决方案2】:

我有一个解决方案:

  1. 以“源代码”形式打开故事板(右键单击故事板 -> 打开为 -> 源代码)。
  2. 删除此行:

<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
  1. 为您正在使用的所有情节提要删除此项。
  2. 运行应用程序。

【讨论】:

  • 完成以上步骤后,作为界面生成器打开storyboard时Xcode崩溃!!!
  • 可能在 XCode 8 Beta 中工作。但在 XCode 8 版本中,这样做会导致 XCode 崩溃。
  • 这现在不起作用,仍然错误,并且它在故事板打开时自动设置为 8.0
  • 接受的答案听起来比删除一行要安全得多
  • 用不同的数字替换代码对我不起作用。只有删除代码行才能修复错误。接受的答案似乎仅在您已经拥有 Xcode8 时才有效。
【解决方案3】:

这对我有用

右键,点击 main.stoaryboard.Go 打开 as -> 源代码并更改依赖项

改变

 <capability name="documents saved in the Xcode 8 format"
     minToolsVersion="8.0"/>  to

   <capability name="documents saved in the Xcode 7 format"
     minToolsVersion="7.0"/>

在 launchscreen.stoaryboard 上执行相同的步骤

【讨论】:

  • 这是迄今为止最好的解决方案,以防你没有 Xcode 8.0
  • 感谢您的解决方案。从 Xcode 9 转移到 Xcode 8 后出现同样的问题。我将“”更改为 。在此更改之后,您将在界面构建器中打开故事板时,此行将被删除。
【解决方案4】:

从 Xcode 9 切换到 Xcode 8 后出现同样的问题。我在源代码中打开情节提要并进行了更改

"<capability name="Safe area layout guides" minToolsVersion="9.0"/>" 
to <capability name="Safe area layout guides" minToolsVersion="8.0"/>

当您在界面生成器中打开故事板时,此更改后,该行将被删除。

【讨论】:

  • 谢谢你为我节省了几个小时的工作时间,xcode 提醒我发现并修复了一些奇怪的东西,所以修改后我的文件会正常吗?
【解决方案5】:

我也遇到过这个问题。我是按照这个方法改的:因为不能点击菜单选择7.0或更高版本,所以我用源码打开main.storyboardlaunchscreen.storyboard,然后手动改了版本,问题就解决了。

【讨论】:

  • 这里是更改前的行: 更改后:
  • XCode 8.0 release version (non beta) 显示 minToolsVersion="6.0"
【解决方案6】:

由于每次打开 XCode 8 都会不断地将故事板文件转换为 XCode 8 格式(这是一个旧项目,一切都搞砸了),我最终下载了 XCode 7 并使用它来编辑故事板文件(然后关闭在我切换回 XCode 8 之前)。 如果我不小心在 8 中打开了故事板文件,我只需将该文件重置为最后一次提交,因为该项目位于 GIT 上。

愚蠢,我知道,但它有效。

【讨论】:

    【解决方案7】:
    <dependencies>
        <deployment identifier="iOS"/>
        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="9049"/>
        <capability name="Constraints to layout margins" minToolsVersion="6.0"/>
    </dependencies>
    

    把你的依赖替换成这个依赖

    【讨论】:

      【解决方案8】:

      Source Code 的身份打开故事板并搜索minToolsVersion 键。将该值设置为 7.0 并在 Xcode 7.x 中打开该故事板

      【讨论】:

        【解决方案9】:

        @Bhumit_Metha 给出了直接的解决方案。不幸的是,就我而言,我没有最新 Xcode (8.0+) 版本的 MAC 进行这些更改以支持旧 xcode (7.x) 中的新“xib”文件。

        所以我最终得到了一个可行的解决方案,步骤如下:

        [1] 在您的 xcode 7.x 中创建一个空的 xib 文件。

        [2] 右键单击​​空白 xib 以查看源代码并复制所有内容。

        [3] 现在在源代码查看器中打开新的 xib(版本错误)。将之前的代码粘贴到顶部。

        [4] 用新的内部标签替换旧的所有行: &lt;objects&gt; ...... &lt;/objects&gt;

        仅此而已。将与兼容的 xcode 7.x 一起使用!

        提示:下次在新的 xcode 中打开时,请确保选择兼容模式。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2021-04-04
          • 1970-01-01
          • 1970-01-01
          • 2020-12-11
          • 1970-01-01
          • 1970-01-01
          • 2016-03-28
          • 2017-02-01
          相关资源
          最近更新 更多