更新到 Xcode 8 GM 后,我遇到了同样的警告,超过 350 个。其中大多数在资产目录中的 .swift 文件和图像。
它基本上是一个源代码控制问题,似乎主要出现在您移动/删除项目文件时。这些要么是新的警告,要么是 Xcode 8 在源代码控制方面比 Xcode 7 严格得多。
在谷歌搜索后,我找到了一些答案,但它们对我来说似乎很复杂,例如使用命令行,甚至建议关闭并重新打开源代码控制。
这是适用于我所有项目的方法。
捷径
先试试这个,如果它不起作用,那就做很长的路
1)转到源代码管理菜单(窗口和帮助旁边的顶部菜单),然后单击刷新状态
2)再次进入源代码管理菜单并单击提交
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 选项从 relative 更改为 Custom,这可以在 Xcode > Preferences > Locations 选项卡中找到。”
2)重新启动您的 Xcode 项目并等待索引完成。这可能需要几分钟,因为您刚刚删除了派生数据。
3)转到源代码管理菜单(窗口和帮助旁边的顶部菜单),然后单击刷新状态
4)再次进入源代码管理菜单并单击提交
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)转到源代码管理菜单并单击提交。不需要进行任何更改,左侧边栏中也应该没有文件。
毕竟这一切我没有更多的警告,不需要删除源代码管理,一切都照常工作。
如果您将来遇到更多错误,比如说因为您再次移动了一个文件,而不是再次提交,确保所有内容都被选中。
希望这可以帮助。