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:错误:没有输入文件