项目中的文件在 Git 拉取后被 Xcode 看不到



我和一位合作伙伴正在通过 Git 管理一个 Xcode 项目。他最近对该项目进行了"本地化",该项目为该项目添加了一个德语目录("de.lproj"(,其中包含许多文件。在我将这些更改拉到我的项目副本后,Xcode 现在无法编译,抱怨此目录中的两个文件不存在。这些文件存在于文件系统中,但在 Xcode 侧边栏中显示为红色(缺失(。

有没有办法强制 Xcode 重建它的内部文件目录,以便它可以"重新发现"这些文件确实存在?

请注意,我也尝试了这个 Git 项目的新"克隆",结果相同。

我找到了无需从 Xcode 中删除文件的解决方案 -

  1. Project Navigator 中,找到该文件(红色表示未找到(并突出显示它。
  2. 显示File Inspector
  3. Location下将Absolute Path更改为Relative to groupRelative to project
  4. 然后在路径旁边,有一个白色的小图标,单击它并选择文件的位置。

事实证明,这是Xcode在project.pbxproj文件中记住的绝对路径与组路径的情况。由于我不明白的原因,当我的合作伙伴本地化我们的项目时,一些文件使用绝对路径添加到 Xcode 中。当我拉取该项目的那个版本时,我的 Xcode 副本找不到这些文件,因为绝对路径与我的绝对路径不匹配。即使文件在项目中并由 Git 正确传输,Xcode 也无法找到它们。

我的解决方案是使用 Xcode 删除这些文件。由于这些是本地化文件,我实际上不得不删除本地化文件的"父"版本。我告诉 Xcode 只删除对文件的引用。然后我把文件从 Finder 拖回 Xcode 中。这次Xcode将它们插入为"相对于组",一切都很好。

我提交并将这些更改推送回我们的远程 Git 存储库。我的搭档能够将它们拉到他的副本中,并且都为他工作。

我们都不明白为什么首先将文件作为绝对引用插入,但至少我们能够使用此解决方法使项目再次可移植。

我遇到了这个问题,我只是通过退出 xcode 并重新打开它来修复它。所有丢失的文件都神奇地重新出现。希望这会对某人有所帮助。

检查项目文件夹路径。如果路径中的任何文件夹名称包含"空格",请将其删除并再次打开项目。我在Xcode 9上遇到了这个问题。

最新更新