升级到Xcode 4后出现缺少文件警告

时间:2011-03-13 20:50:05

标签: xcode ios4 xcode4

我最近升级到了Xcode 4(这是一次很棒的升级),但现在我收到了一些我之前没有得到的警告。我查看了论坛和其他SO帖子,但没有遇到如何解决这个问题。

我得到的警告是丢失文件的项目级警告。正在显示的文件已从项目导航器视图中删除(也选择从文件系统中删除)。但是,它似乎仍以某种方式显示为与项目相关联,即使该文件不再出现在Project导航器中。

我环顾四周,却找不到如何告诉Xcode这些文件已经消失,不再给我发出警告。这是我在Xcode4中获得的截图,但从未进入过Xcode 3。

Missing file warning Xcode 4

21 个答案:

答案 0 :(得分:297)

这些解决方案太难了。问题是你已经从文件系统中删除了项目,但SVN仍然认为它们在那里。 从SVN分离项目将起作用,同样用于删除.svn文件夹但是会破坏您的存储库!

打开控制台,浏览到您的文件夹(“cd / pathToYourFolder”)并输入以下命令要容易得多:

svn delete nameOfMissingFile

如果您丢失的文件的名称包含@字符(例如:视网膜特定的图稿),请确保文件名以@符号终止:

svn delete nameOfMissingFile@2x.png@

对于GIT存储库:

git rm nameOfMissingFile

答案 1 :(得分:55)

在XCode 4.2。+(可能在4+中),您可以避免手动工作和命令行:

  1. 选择项目Project Navigator(Command - 1)
  2. 选择文件 - 源代码管理 - 提交菜单
  3. 在左侧窗格的顶部,您有三个图标,选择中间的一个 - 文件视图
  4. 您将看到所有丢失文件的列表
  5. 选择所有这些并右键单击 - 放弃更改。这将从SVN服务器恢复所有已删除的文件,并将它们放在本地SVN文件夹中
  6. 将这些文件拖放到XCode项目中(在Finder中选择Sort-Date Modified以轻松找到它们)
  7. 通过XCode正确删除这些文件(选择文件并选择右键单击删除)
  8. 提交项目
  9. 就是这样:))

    所有那些令人讨厌的警告都消失了!

    另外对于Xcode 6 +:选择文件视图“中间图标”后 - 您可以单击左侧的复选框,这将在您下次提交时将其标记为已删除SVN!

答案 2 :(得分:50)

在Xcode5& Xcode6,以下步骤为我工作

Xcode - > Preferences - > Source Control - > uncheck Enable Source Control

然后

Xcode - > Preferences - > Source Control - > check Enable Source Control

答案 3 :(得分:27)

它与项目中的.svn隐藏文件夹有关。

我通过从svn。

分离项目解决了这个问题

一个。打开终端并键入以下命令:

defaults write com.apple.finder AppleShowAllFiles TRUE


killall Finder

这将允许您查看项目中的.svn文件夹

湾删除项目文件夹/子文件夹中的每个.svn文件夹

℃。重新启用隐藏文件:

defaults write com.apple.finder AppleShowAllFiles FALSE

killall Finder

d。现在你的项目与svn分离,你不再遇到构建问题。

即将您的项目重新添加到svn或其他任何内容。

我自己是初学者,这是我处理这个问题的方式,所以我不确定这是最好的方法。无论如何,这个问题已经解决了。

答案 4 :(得分:9)

这对我有用:

File - > Source Control - > Hide Working Copy Status

然后

File - > Source Control - > Show Working Copy Status

答案 5 :(得分:6)

我通过以下方式解决了这个问题:

  1. 检查丢失文件的路径。
  2. 在项目目录中的适当位置创建缺少的文件
  3. 使用“将文件添加到”项目“”将它们添加到项目中并仅创建引用(不要复制文件)
  4. 此时警告应消失。
  5. 从Xcode中删除文件,确保单击“删除”而不是默认的“仅删除参考”
  6. 你已经完成了。

答案 6 :(得分:4)

我遇到了这个bug,除了在该位置创建一个空文件然后删除它之外,没有办法解决它。它发生在我从项目中删除的文件中,并且手动清理,构建,删除Derived Data目录也不起作用。我相信这是一个错误,如果它发生在多个文件中,那将会非常痛苦。

答案 7 :(得分:4)

我也有这个问题,并且正如用户151215所描述的那样是由于.svn文件夹。

我有一个旧的.svn文件夹,不在项目本身,而是在项目父文件夹中。

违规的.svn文件夹将包含一个包含丢失文件的条目文件。因此,您可以使用Teminal并搜索丢失的文件名字符串,例如grep -lir BagController.m yourRootDevDir / *

比在finder中启用隐藏文件更简单,只需使用终端即可。 cd到相关目录,和mv .svn~ / .Trash

希望这有帮助!

答案 8 :(得分:4)

进入相应的目录并运行:

svn revert fileName

答案 9 :(得分:3)

我使用以下方式处理问题:

启动终端并cd到项目目录。 (例如:cd /Users/Mauro/Src/Pippero-1.2/)

然后输入以下命令:

find . -name .svn -exec rm -rf { } \;

该命令将递归搜索名为.svn的文件(和文件夹)并删除它们

答案 10 :(得分:3)

在Xcode中禁用SVN可以防止出现这些问题(假设您使用其他SVN工具管理存储库)。看到这个问题:

Can you disable version control integration in Xcode 4?

显然,如果您的其他Xcode项目想要使用SVN,这可能不实用。

答案 11 :(得分:2)

我正在使用svn并设法通过

来解决这个问题

svn delete pathToMissingFile

将删除丢失文件的本地svn副本以及远程存储库中的副本。

svn revert pathToMissingFile

将丢弃对丢失文件的更改,这意味着将丢失的文件放回原来的位置。

答案 12 :(得分:1)

非常简单,

Xcode -> Preferences -> Source Control -> uncheck Enable Source Control

并且不要忘记cmd+shift+k

答案 13 :(得分:1)

  1. 提交并推送您的更改。
  2. 重启Xcode。

答案 14 :(得分:1)

以上所有方法都无法解决我遇到的同类问题。做一些搜索,我明白我遇到的问题与SVN冲突有关。

我发现使用命令行存在冲突:

svn status

然后必须解决所有冲突的文件

svn resolved filename1 filename2 ...

一旦冲突解决,警告就从Xcode中消失了

答案 15 :(得分:0)

Alex解决了我丢失文件的问题。

我有另一个问题(虽然它与丢失的文件无关,我觉得这将是更好的主题)

  1. 我需要将一组图像复制到我的项目中。
  2. 我只是创建了一个组(虽然我知道该组没有映射到物理文件夹)并将图像拖到组中(选择“复制到...”选项)。
  3. SVN状态显示所有这些都在“A”中。
  4. 现在当我进入实际文件系统时,我发现所有图像都复制到了我项目的根文件夹中。由于它看起来不太好,我在项目的images文件夹中创建了一个物理文件夹,并将所有添加的图像复制到那里。
  5. 然后SVN以红色显示所有文件。
  6. 我删除了所有红色文件的引用。
  7. 使用“添加文件”选项,我然后添加了新创建的文件夹中的图像。
  8. 现在SVN无法将文件状态显示为“A”,我无法检查它们。
  9. 尝试了许多步骤,例如将它们从另一个文件夹中再次添加,但没有任何运气。
  10. 我通过直接进入存储库来修复此问题,在图像下创建一个新目录,以便物理文件夹现在位于SVN服务器中

    然后我对源进行了更新,并在我的工作副本中获得了新创建的目录(尽管它没有添加到项目中)。

    然后我将图像复制到该目录并使用“添加文件”选项将它们添加到项目中,这使我恢复了“A”状态,并且我能够检入文件。

    只想分享这个......因为我花了很多时间。

    -anoop

答案 16 :(得分:0)

不要直接在.xcode文件夹中删除文件。从xcode项目导航器中删除文件。 (右键单击该文件,然后选择移至废纸篓)。

现在,要清除此问题,请在同一位置添加相同的文件。并从项目导航器中删除。

答案 17 :(得分:0)

就我而言

  1. 我只是打开SvnX。
  2. 所有丢失的文件都标记为红色。选择并删除它们。
  3. 然后所有Xcode警告都消失了。

答案 18 :(得分:0)

我没有做任何事情。我提交了我的代码并推动了它。关掉XCODE。把它拉下来,一切正常。

答案 19 :(得分:0)

概述:

在我的案例中,在以下文件夹路径Sample中有一个名为/folder1/folder2的xcode项目。

预期.git内有/folder1/folder2/Sample/个文件。

根本原因:

父目录(.git)中有另一个/folder1文件导致了该问题。文件夹可能已被删除,留下.git文件

解决方案

rm -rf /folder1/.git

线索

如果将项目移动到一个全新的位置,则修复了层次结构中父目录中没有.git文件的问题,这就是上述解决方案可以工作的线索。

答案 20 :(得分:0)

构建后按Cmd + 7并选择最新的构建操作。它看起来好像旧的Xcode吗? :) enter image description here