Xcode 8 - 缺少文件警告

Posted

技术标签:

【中文标题】Xcode 8 - 缺少文件警告【英文标题】:Xcode 8 - Missing Files warnings 【发布时间】:2016-09-26 19:40:29 【问题描述】:

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

缺少的文件是

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

显示丢失文件的 pod 是

领域(约 38 个,共 43 个) TextFieldEffects(约 3 个,共 43 个) BEMCheckBox (2 of 43)

我该如何解决这个问题?

【问题讨论】:

你试过pod install吗? @Marc-AlexandreBérubé 是的,我已经尝试过几次 pod install。删除 pod 文件夹并再次安装。 【参考方案1】:

这只是一个 Xcode 错误。如果您删除或重命名文件而不进行提交,Xcode 会看到之前的 git 提交与当前状态之间的差异并报告这些警告。只要您执行包含文件删除/重命名的git add,它们就会消失。

【讨论】:

将文件添加到索引(git add)就足够了,不需要实际提交它们(更可能是项目还没有准备好提交......) @djromero 感谢您跟踪!您希望我将其添加到我的答案中吗? @matt 当然,请随意 一个新的提交为我解决了这个问题。 对我来说,这就像在首选项下快速禁用然后重新启用源代码控制一样简单。 Xcode > Pref > Source Control > 取消选中“启用源代码控制” .... 然后重新启用它。和噗!走了!【参考方案2】:

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

Xcode > Preferences > Source control 并取消选中“Enable source control

【讨论】:

这是否会从 XCode 中删除旧提交的并排比较?我假设是这样......【参考方案3】:

我尝试了所有这些(以及许多其他方法),但都没有奏效。经过数小时尝试各种修复后,我发现以下过程有效。

cd "project directory"
git add .

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

希望这对某人有所帮助。

【讨论】:

太棒了。通过更新 pod,我的项目变得有点混乱,警告变得太多了......这修复了它。谢谢!【参考方案4】:

我就是这样解决问题的:

    将罪魁祸首添加到项目中

    删除引用

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

【讨论】:

确实有效。 @matt 的解决方案在某些情况下工作过一次,但我有一个讨厌的文件不断爬回 XCode,这是摆脱它的唯一方法。【参考方案5】:

commit 中的Source Control 怎么样。

您可能需要先显示"your project name".xcodeproj 的数据包内容和project.xcworkspace 的数据包内容,然后删除xcuserdata 文件夹。

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

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

*记得重新打开项目看看效果。

【讨论】:

【参考方案6】:

您可以通过检查X-Code->Preferences->Source Control中的“自动添加和删除文件”选项来解决此问题

这里是截图 Preferences

【讨论】:

【参考方案7】:

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

【讨论】:

【参考方案8】:

我已经遇到过几次这个问题了,在做了一些丑陋的变通方法后终于解决了!我坐下来跟踪它,直到我找到它的原因并且参考被存储了!

正如有人已经提出的那样,它与版本控制有关,是的,不是的, 在某些情况下,它肯定与直接使用 finder 或其他任何东西(但不是来自 XCode)浏览文件有关

这里有一个快速解决方法,可以省去很多麻烦和脏话!

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

错误消失了!

【讨论】:

这个方法一开始有效,但丢失的文件很快又出现了。【参考方案9】:

我遇到了同样的问题。就我而言,我的项目的父目录中有一个 .git 目录。通过删除该父 .git 目录,错误消失了。

【讨论】:

【参考方案10】:

在我的例子中,Pod 被检入到存储库中,生成了数百条“丢失文件”警告。通过从 repo 中删除 Pod 来修复它:

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

【讨论】:

【参考方案11】:

我已经通过以下步骤解决了这个问题:

    清除派生数据

    在提交时丢弃丢失的文件,然后进行提交。

    干净构建

    已解决..

编码愉快.. :)

【讨论】:

【参考方案12】:

在项目中添加自定义 CollectionView 单元格(CustomCollectionViewCell)后,我遇到了同样的问题。出现与上述相同的错误。 无需删除文件即可。

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

现在错误消失了。

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

【讨论】:

【参考方案13】:

这为我解决了问题:

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

【讨论】:

【参考方案14】:

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

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

遗憾的是,有将近 100 个文件要处理,我重新访问了这篇文章,this comment from @BennyTheNerd to an answer 提供了帮助!

对我来说,这就像在首选项下快速禁用然后重新启用源代码控制一样简单。 Xcode > Pref > Source Control > 取消选中“启用源代码控制” .... 然后重新启用它。和噗!走了! – BennyTheNerd 2017 年 1 月 16 日 7:29

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

希望这会有所帮助!

【讨论】:

以上是关于Xcode 8 - 缺少文件警告的主要内容,如果未能解决你的问题,请参考以下文章

如何解决 Xcode 4.3.1 中的这个新警告:“由于缺少入口点,场景无法访问......”?

Xcode8/Swift 3 更新后缺少 Firebase 标头警告

Xcode 9.4.1 上传 App Store 时缺少 App Store 图标

使用 Swift 3 Xcode 8 加载时缺少自定义 XIB

使用 Mac OS X 10.8.5 Xcode 5.0.2 配置错误:clang:错误:缺少“-V”的参数(预期 1 个值)clang:错误:没有输入文件

“场景由于缺少入口点而无法访问并且没有...” - 解决此警告