Xcode 8-缺少文件警告


127

自从使用Swift 2.3升级到Xcode 8以来,我有几个文件丢失警告。它们都与我正在使用的Pod有关。

缺少的文件是

*.xcscheme 
*.cpp
*.xcuserstate
*.swift

显示丢失文件的窗格是

  • 境界(〜38 of 43)
  • TextFieldEffects(〜3之43)
  • BEMCheckBox(2之43)

如何解决此问题?


你试过了pod install吗?
Marc-AlexandreBérubé16年

@Marc-AlexandreBérubé是的,我尝试过几次Pod安装。删除了pod文件夹并进行了另一次安装。
艾伦(Alan)

Answers:


298

这只是一个Xcode错误。如果您删除或重命名文件时没有进行提交,则Xcode会看到上一次git提交与事物当前状态之间的差异,并报告这些警告。一旦您执行git add删除文件/重命名文件的操作,它们就会消失。


25
将文件添加到索引(git add)就足够了,不需要实际提交它们(很有可能该项目尚未准备好提交...)
djromero

@djromero谢谢您对此进行跟踪!您要我将其添加到我的答案中吗?
马特

@matt当然,请随时做
djromero

一个新的提交为我解决了这个问题。
MatterGoal '16

34
对我而言,这就像在首选项下快速禁用然后重新启用源代码控制一样容易。Xcode> Pref>源代码管理>取消选中“启用源代码管理” ..,然后在以后重新启用它。和po!没了!
BennyTheNerd

84

如果您不使用xcode源代码控制,而是使用其他一些git客户端(例如源代码树或终端),则可以在Xcode中禁用源代码控制,然后警告将消失。

Xcode>偏好设置>源代码管理,然后取消选中“ 启用源代码管理


这样是否会从XCode中删除旧提交的并排比较?我假设是这样的
拜伦·库切

15

我尝试了所有这些方法(以及许多其他方法),但没有一个起作用。经过数小时的尝试各种修复,我发现以下过程可以正常工作。

cd "project directory"
git add .

您将需要关闭XCode并重新打开,否则将来的提交可能会失败。

希望这对某人有帮助。


太棒了 通过更新广告连播,我的项目变得有些混乱,警告变得太多了。谢谢!
Colibri

8

我可以通过以下方式简单地解决问题:

  1. 将罪魁祸首添加到项目中 在此处输入图片说明

  2. 删除参考 在此处输入图片说明

这将清除XCode的内部状态,并且消息消失。


确实有效。@matt的解决方案在某些情况下只能工作一次,但是我有一个讨厌的文件,该文件一直爬回XCode,这是摆脱它的唯一方法。
qwerty_so

7

如何commitSource Control

您可能首先必须显示的数据包内容"your project name".xcodeproj并显示的数据包内容,project.xcworkspace然后删除该xcuserdata文件夹。

如果由于无法与帮助程序应用程序通信而仍然无法提交,在项目目录下尝试以下操作:

xcrun git config user.name "Your Name"
xcrun git config user.email YourEmailAddress

*请记住重新打开项目以查看效果。



7

Xcode 8似乎经常错过git add已删除/相关的文件。要更正它,请Commit...从Xcode的Source Control菜单中点击,确保检查这些文件(后跟一个感叹号!),然后提交更改。这应该清除警告。


5

我已经遇到过几次这个问题,而在进行了丑陋的变通后,终于遇到了这个问题!我坐下来跟踪它,直到找到原因并存储了引用!

正如有人已经提出的那样,它与版本控制有关,是的,不是,在某些情况下,它肯定与直接使用查找程序或其他工具(但不是来自XCode)查找文件有关。

这是一个快速修复程序,可以省去很多麻烦,而且可以说脏话!

删除此文件:./.xcworkspace/xcuserdata/.xcuserdatad/UserInterfaceState.xcuserstate

错误消失了!


最初是可行的,但是丢失的文件不久后又出现了。
Hackmodford

4

我有同样的问题。在我的情况下,我项目的父目录中有一个.git目录。通过删除该父.git目录,错误消失了。


3

在我的情况下,将Pods检入到存储库中时会生成数百个“丢失文件”警告。通过从仓库中删除Pod来修复它:

git filter-branch --index-filter 'git rm --cached --ignore-unmatch Pods/*' --tag-name-filter cat -- --all

2

我已通过以下步骤解决了此问题:

  1. 清除衍生数据

  2. 提交时丢弃丢失的文件,然后再提交。

  3. 干净的构建

  4. 解决..

快乐编码.. :)


1

在项目中添加自定义CollectionView单元格(CustomCollectionViewCell)后,我遇到了同样的问题。无需删除文件,我们可以。

为我重命名缺少的文件是“ xCustomCollectionViewCell.xib”。

现在错误消失了。

再次将同一文件重命名为原始名称“ CustomCollectionViewCell.xib”


1

这为我解决了:

git reset HEAD <path-to-deleted-file-that-was-causing-the-Xcode-warning>

0

我在Xcode 9.3上遇到了这个问题

对我有用的解决方案:在文件中添加一个空格,保存,然后等待!状态更改为M,然后删除该空格,保存。

可悲的是,我要浏览将近100个文件,然后重新审查了这篇文章,而@BennyTheNerd对评论的评论对此有所帮助!

对我来说,这就像在首选项下快速禁用然后重新启用源代码控制一样容易。Xcode> Pref>源代码管理>取消选中“启用源代码管理” ..,然后在以后重新启用它。和po!没了!– BennyTheNerd 17年1月16日在7:29

另外,尽管我有相当多的Xcode,然后打开相同的项目,然后通过首选项重新启用源代码控制。

希望这可以帮助!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.