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

我刚刚升级到最新的XCode和Swift Beta版本,但是使用转换器后,我的应用程序项目现在有200多个构建时间黄色错误,所有错误都指出/“ projectDirectoy” / DerivedData / XXXXXXXXX / XXXX / XXX / xXXX / xXX已丢失 工作副本...,其中XXXXX代表DerivedData文件夹中的各种文件路径。

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

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

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

我曾尝试过关闭首选项中的源代码控制,但是我不明白为什么要在更新之前将其关闭,所以我希望它保持打开状态。

这些错误似乎不会消失。

有任何想法吗?

Krivvenz asked 2020-08-06T14:50:55Z
9个解决方案
94 votes

在更新到超过350的xCode 8 GM之后,我也面临着同样的警告。它们大多数位于资产目录中的.swift文件和图像。

基本上,这是一个源代码控制问题,似乎主要在您移动/删除项目文件时出现。 这些要么是新警告,要么源代码控制中的xCode 8比xCode 7严格得多。

谷歌搜索之后,我发现了一些答案,但是它们对我来说似乎很复杂,例如使用命令行,甚至建议关闭然后重新打开源代码控制。

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

短路

请先尝试一下,如果它不起作用,那么请尝试一下

1)转到“源代码管理”菜单(窗口和帮助旁边的顶部菜单),然后单击“刷新状态”

2)再次进入Source Control菜单,然后单击commit

3)应该打开提交窗口,其中包含xCode认为必要的所有提交。 因此,只需在文本字段框中输入提交,然后按提交按钮即可。

重复步骤1-3,直到打开提交菜单时xCode不再选择其他项目。 在提交了由xCode自动选择的所有项目之前,请不要执行步骤4,否则在执行步骤4时可能会出错。

4)再次打开提交窗口,如步骤3所述,xCode不应再选择其他项。 但是,您仍然应该在左侧边栏中看到一些引起警告消息的项目。

右键单击一个项目,然后按全选,在文本字段中输入一个提交,然后按提交按钮。 一切应已完成,警告/错误应消失(可选地,再次按CommitMenu-> Refresh Status)。

如果尚未完成,则关闭/重新打开xCode,然后重做步骤1-4。

如果那也行不通,那么从长远来看应该解决它。

很长的路要走

如果您使用源代码管理并定期进行提交,则可以选择执行步骤1,然后直接进行步骤11。

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

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

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

正如成员Krivvenz在回答中如此指出的那样,您可能必须选择执行此操作。 我不必自己做,所以可以跳过此步骤,仅在不起作用时尝试。

“我还必须将DerivedData选项从相对于Custom更改为可在Xcode> Preferences> Locations选项卡中找到。”

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

3)转到“源代码管理”菜单(窗口和帮助旁边的顶部菜单),然后单击“刷新状态”

4)再次进入Source Control菜单,然后单击commit

5)应该打开提交窗口,其中包含xCode认为必要的所有提交。 我有250多个,因为我以前从未使用过源代码控制。

6)点击右下角的提交更改

7)我遇到错误,操作未完成(如果对您有用,则转到11)

8)转到“源代码管理”菜单,然后单击“刷新状态”

9)转到源代码管理,然后单击提交

10)单击右下角的提交更改。 这次,它建议减少大约30次提交,而我没有出错。 如果您在第二次尝试中仍然遇到错误,请尝试完全关闭Xcode,然后重新打开它,然后重复此步骤。

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

12)转到源代码管理菜单,然后单击提交

13)这次应该没有xCode建议的任何更改,但是您仍会在左侧的提交菜单中看到很多文件(未选中)。 这些文件抛出工作副本警告,这些警告也应该仍然存在。

14)在提交菜单的左侧栏中选择这些文件中的每个文件。您可以右键单击并按检查全部

15)点击右下角的提交更改

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

17)转到“源代码管理”菜单,然后单击“刷新状态”

动臂所有的警告消失了。

18)完全关闭您的项目和xCode

19)再次打开您的项目

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

21)转到“源代码管理”菜单,然后单击“提交”

22)我突然又提出了150次以上的提交建议。 确保选择了所有建议,然后单击提交,它应该完整无误。

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

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

毕竟,我没有其他警告,不需要删除源代码控制,一切都照常进行。

如果将来遇到更多错误,可以说是因为您再次移动了文件,而不是再次提交,请确保已选择所有内容。

希望这可以帮助。

crashoverride777 answered 2020-08-06T14:54:30Z
13 votes

这是XCode中的错误。 git-commit项目树后,丢失的文件警告就会消失。

n13 answered 2020-08-06T14:54:51Z
4 votes

我在父文件夹中有一个流氓.git文件夹,没有“去”任何东西-

在“源代码管理”菜单下验证所有“工作副本”是否实际上都已连接到真实的源代码管理文件夹

这些“解决方案”对我没有任何帮助,除了删除了流氓.git文件夹外

Roy Lovejoy answered 2020-08-06T14:55:20Z
3 votes

删除DerivedData和git add。 来自终端的即使没有提交,也为我解决了这个问题。

nemissm answered 2020-08-06T14:55:40Z
2 votes

只显示所有隐藏文件,然后删除git文件夹打开终端并运行此命令以显示所有隐藏文件“默认写com.apple.finder AppleShowAllFiles是Killall Finder”

Dai answered 2020-08-06T14:56:00Z
1 votes

跟着这些步骤。

  1. 打开svn或源代码树。
  2. 这些文件将在那里。
  3. 从源代码树或svn中删除这些文件。
  4. 现在进入xcode项目。
  5. 现在,一次提交代码。所有警告
umair farid answered 2020-08-06T14:56:41Z
1 votes

我通过将.git目录删除到“ yourProject” / Pods中解决了此问题。并且可以在“ yourProject”的主目录中删除.git目录。

A.Kant answered 2020-08-06T14:57:01Z
1 votes

我认为我已经通过删除DerivedData文件夹的所有实例并按照crashoverride777的说明解决了该问题。 我还必须将DerivedData选项从相对于Custom更改为可在Xcode> Preferences> Locations选项卡中找到。

Krivvenz answered 2020-08-06T14:57:22Z
0 votes

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

Sajid Israr answered 2020-08-06T14:57:43Z
translate from https://stackoverflow.com:/questions/37972728/swift-3-xcode-8-upgrade-100s-of-deriveddata-files-missing-from-working-copy