Swift 3 / Xcode 8 升级 - 工作副本错误中缺少 100 个 DerivedData 文件

Swift 3 / Xcode 8 Upgrade - 100's of DerivedData files missing from working copy errors

我刚刚升级到 XCode 和 Swift 的最新 Beta 版本,但在使用转换器后,我的应用程序项目现在有超过 200 个构建时间黄色错误,所有错误均显示 /"projectDirectoy"工作副本中缺少 /DerivedData/XXXXXXXXX/XXXX/XXX/xXXX/xXX...其中 XXXXX 代表 DerivedData 文件夹中的各种文件路径。

我已尝试从错误中提到的位置删除 DerivedData 文件夹。

我已经尝试删除 ~/Library/ 中 DerivedData 文件夹中的所有内容。

我已多次尝试清理项目、重新启动并重新构建。

我试过在首选项中关闭源代码管理,但我不明白为什么我应该关闭它,因为它在我更新之前是打开的,所以我希望它保持打开状态。

这些错误似乎不会消失。

有什么想法吗?

更新到 Xcode 8 GM 后,我遇到了同样的警告,超过 350。其中大部分位于资产目录中的 .swift 文件和图像。

这基本上是一个源代码管理问题,似乎主要出现在您 move/delete 项目文件时。这些要么是新警告,要么 Xcode 8 在源代码控制方面比 Xcode 7 严格得多。

谷歌搜索后我找到了一些答案,但它们对我来说似乎很复杂,例如使用命令行,甚至建议关闭并重新打开源代码管理。

这是对我的所有项目都有效的方法。

捷径

先试试这个,如果不行就再试一次

1) 转到源代码管理菜单(window 和帮助旁边的顶部菜单)并单击刷新状态

2)再次进入Source Control菜单并点击commit

3) 提交 window 应该打开所有 Xcode 认为必要的提交。因此,只需在文本字段框中输入提交并按下提交按钮即可。

重复步骤 1-3,直到打开提交菜单时 select 没有被 Xcode 编辑的项目。在由 Xcode 自动 select 编辑的所有项目都已提交之前不要转到第 4 步,否则在执行第 4 步时可能会出错。

4) 再次打开提交 window 并且如步骤 3 中所述,不应再有 select 由 Xcode 编辑的项目.但是,您仍然应该在左侧边栏中看到一些项目,这些项目是导致警告消息的项目。

右键单击一个项目并按select全部,在文本字段中输入提交,然后按提交按钮。一切都应该完成并且 warning/errors 应该消失(可选择再次按 CommitMenu->Refresh Status)。

如果未完成 close/reopen Xcode 并重做步骤 1-4。

如果这也不起作用,那么很长的路应该解决它。

漫漫长路

如果您使用源代码控制并定期提交而不是选择性地执行第 1 步,那么您应该能够直接进入第 11 步。

1) 清理 xCode 派生数据(可选)

您通常不必这样做,因此在第一次尝试时跳过此步骤并转到步骤 3。

转到 Xcode 首选项,单击“位置”选项卡,然后转到高级。单击前进按钮旁边的小箭头以打开派生文件夹的路径。完全关闭 Xcode,然后删除该派生文件夹中的所有内容。

正如成员 Krivvenz 在他的回答中亲切指出的那样,您可能不得不选择执行此操作。我不必自己做这个,所以可以跳过这个,只有在它不起作用时才尝试。

“我还必须将我的 DerivedData 选项从相对更改为自定义,可以在 Xcode > 首选项 > 位置选项卡中找到。”

2) 重新启动您的 Xcode 项目并等待索引完成。这可能需要几分钟,因为您刚刚删除了派生数据。

3) 转到源代码管理菜单(window 和帮助旁边的顶部菜单)并单击刷新状态

4)再次进入Source Control菜单并点击commit

5) 提交 window 应该打开所有 Xcode 认为必要的提交。我有超过 250 个,因为我以前从未使用过源代码管理。

6)点击右下角的commit changes

7) 我收到一个错误,操作没有完成(如果它对你有用,请转到 11)

8) 转到源代码管理菜单并单击刷新状态

9) 转到源代码管理并单击提交

10) 点击右下角的commit changes。这次它建议减少大约 30 次提交,我没有发现任何错误。如果您在第二次尝试时仍然遇到错误,请尝试完全关闭 Xcode 然后重新打开它,然后重复此步骤。

11) 转到源代码管理菜单并单击刷新状态

12) 转到源代码管理菜单并单击提交

13)这次应该没有Xcode推荐的改动但是你还是会在左边的commit菜单中看到很多文件(未勾选) .正是这些文件引发了工作副本警告,它们应该仍然存在。

14) Select 提交菜单左侧栏中的每一个文件。 您可以右键单击并按检查所有

15)点击右下角的commit changes

16) 我遇到错误,操作没有完成。所以我再次尝试并出现同样的错误,所以我关闭了提交菜单。如果它为您完成,那也很好。

17) 转到源代码管理菜单并单击刷新状态

所有警告都消失了。

18) 关闭您的项目并Xcode完全

19)再次打开你的项目

20) 转到源代码管理菜单并单击刷新状态

21) 转到源代码管理菜单并单击提交

22) 突然又提示了 150+ 提交。确保所有建议都已 select 编辑,然后点击提交,它应该会无误地完成。

23)清理你的项目(产品->清理)

24) 转到源代码管理菜单并单击提交。应该不需要任何更改,左侧栏中也应该没有文件。

所有这一切之后,我没有更多的警告,不需要删除源代码管理,一切都像往常一样工作。

如果您以后遇到更多错误,比如说您再次移动了一个文件,而不是再次提交,确保一切都已 selected。

希望这对您有所帮助。

我在父文件夹中有一个流氓 .git 文件夹,它没有 'go' 任何东西-

在 "Source Control" 菜单下验证您的所有 "Working Copies" 实际上连接到一个真正的源代码管理文件夹

NONE 其中 'solutions' 对我有用,除了这个 removing rogue .git 文件夹

只显示所有隐藏文件,然后删除 git 文件夹 打开终端和 运行 这个命令来显示所有隐藏文件 “默认写入 com.apple.finder AppleShowAllFiles 是 killall Finder

按照以下步骤操作。

  1. 打开 svn 或源代码树。
  2. 这些文件将到达那里。
  3. 从源代码树或 svn 中删除这些文件。
  4. 现在进入xcode项目。
  5. 现在提交一次代码。 所有警告

我通过将 .git 目录 删除到 "yourProject"/Pods 中解决了这个问题。 并且可以在"yourProject".

的主目录中删除.git目录

我想我现在已经通过删除我的 DerivedData 文件夹的所有实例并按照 crashoverride777 的说明解决了这个问题。我还必须将我的 DerivedData 选项从相对更改为自定义,可以在 Xcode > 首选项 > 位置选项卡中找到。

这是 XCode 中的错误。一旦您 git-提交您的项目树,丢失的文件警告就会消失。

删除 DerivedData 并 git 添加 .从终端,即使没有提交,也为我解决了这个问题。

我从我的项目目录中删除了旧模型对象并解决了问题。