更新到 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)点击右下角的commit changes
7)我遇到了一个错误,操作没有完成(如果它对你有用,请转到 11)
8) 进入源代码管理菜单并点击刷新状态
9) 转到源代码管理并点击提交
10) 点击右下角的提交更改。这次它建议减少大约 30 次提交,我没有收到任何错误。如果您在第二次尝试时仍然遇到错误,请尝试完全关闭 Xcode,然后重新打开它,然后重复此步骤。
11) 进入源代码管理菜单并点击刷新状态
12) 进入源代码控制菜单并点击提交
13) 这一次应该没有 Xcode 推荐的更改,但您仍然会在左侧的提交菜单中看到很多文件(未选中)。正是这些文件引发了工作副本警告,它们也应该仍然存在。
14) 选择提交菜单左侧边栏中的每个文件。
您可以右键单击并按全部检查
15)点击右下角的commit changes
16)出现错误,操作未完成。所以我再次尝试了同样的错误,所以我关闭了提交菜单。如果它为您完成,那也很好。
17) 进入源代码管理菜单并点击刷新状态
砰,所有的警告都消失了。
18)完全关闭你的项目和Xcode
19)再次打开您的项目
20) 进入源代码管理菜单并点击刷新状态
21) 进入源代码管理菜单并点击提交
22) 我突然又建议了 150 多个提交。确保选择了所有建议,然后单击提交,它应该完成且没有错误。
23)清理你的项目(产品->清理)
24) 进入源代码管理菜单并点击提交。应该不需要更改,并且左侧边栏中也应该没有文件。
在这一切之后,我没有更多警告,不需要删除源代码管理,一切都照常工作。
如果您以后遇到更多错误,比如说因为您再次移动了一个文件,而不是再次提交,确保所有内容都被选中。
希望这会有所帮助。