我和一个合作伙伴正在通过 Git 管理一个 Xcode 项目。他最近对该项目进行了“本地化”,为项目添加了一个德语目录(“de.lproj”),其中包含许多文件。在我将这些更改拉到我的项目副本后,Xcode 现在无法编译,抱怨此目录中的两个文件不存在。这些文件存在于文件系统中,但在 Xcode 侧边栏中显示为红色(缺失)。
有没有办法强制 Xcode 重建它的内部文件目录,以便它可以“重新发现”这些文件确实存在?
请注意,我也尝试过这个 Git 项目的全新“克隆”,结果相同。
我找到了一个解决方案,而无需从 Xcode 中删除文件-
Project Navigator
,找到文件(红色表示未找到)并突出显示它。File Inspector
Location
更改Absolute Path
为Relative to group
or下Relative to project
,事实证明,这是 Xcode 在 project.pbxproj 文件中存储的绝对路径与组路径的情况。由于我不明白的原因,当我的合作伙伴本地化我们的项目时,一些文件使用绝对路径添加到 Xcode。当我提取该版本的项目时,我的 Xcode 副本找不到这些文件,因为绝对路径与我的绝对路径不匹配。即使文件在项目中并由 Git 正确传输,Xcode 也找不到它们。
我的解决方案是使用 Xcode 删除这些文件。由于这些是本地化文件,我实际上不得不删除本地化文件的“父”版本。我告诉 Xcode 只删除对文件的引用。然后我将文件从 Finder 拖回 Xcode。这次 Xcode 将它们插入为“相对于组”,一切都很好。
我提交并将这些更改推送回我们的远程 Git 存储库。我的搭档能够将这些内容拉到他的副本中,并且也都为他工作。
我们俩都不明白为什么首先将文件作为绝对引用插入,但至少我们能够使用这种变通方法使项目再次可移植。
我遇到了这个问题,我只是通过退出 xcode 并重新打开它来解决它。所有丢失的文件都神奇地重新出现了。希望这会对某人有所帮助。
检查项目文件夹路径。如果路径中的任何文件夹名称包含“空格”,则将其删除并再次打开项目。我在 Xcode 9 中遇到了这个问题。