Xcode无法找到源文件

时间:2016-09-20 23:29:13

标签: xcode

我正在使用Xcode 8.我最近继承了一个包含数百个文件(包括源文件和图像文件)的项目。我在我的本地驱动器上重新排列它们,文件名(适当地)在Xcode左侧的文件夹列表中变为红色。我在此文件夹列表中选择了文件/文件夹,单击"隐藏或显示实用程序"按钮显示"身份和类型"在Xcode右侧的窗格中,单击位置旁边的小文件夹图标,然后选择文件' / folders'新的地点。该窗格中的文本已更新到新位置,文件/文件夹名称从红色变为黑色。到现在为止还挺好。我对所有文件/文件夹名称执行了此操作,直到它们都没有显示为红色。

然而,当我去构建项目时,我收到许多类似的警告消息," image.png /Users/Me/Project/images/image.png在工作副本中丢失。"错误消息中显示的路径是文件的旧位置。当我在文件列表中查看该图像时,它以黑色显示。当我选择该文件并查看右侧窗格中的“完整路径”时,它会显示文件的当前位置(例如," /Users/Me/Project/images/newfolder/image.png&# 34)。我不确定项目中旧位置的存储位置。 FWIW,我已经尝试过清理项目......

感谢您的见解。

1 个答案:

答案 0 :(得分:2)

所以这里的方法可能不适合温顺,但我做的事情往往比人们期望修复Xcode项目文件更多。我倾向于在我工作的团队中指定这样做的人...手动编辑项目文件。 .xcodeproj文件实际上只是一个特殊的文件夹。实际项目文件为project.pbxproj

  • 首先备份项目文件。如果您想要完成.xcodeproj或仅project.pbxproj
  • ,则可以选择
  • 使用您喜欢的文本编辑器打开project.pbxproj文件。
  • 搜索并将前缀替换为您的路径。为了这个练习,你应该尽量保持你的路径尽可能相似,以便更容易。例如,如果硬编码路径是/Users/Me/Project/Images/newfolder/image.png并且所有前缀通常都是" / Users / Me / Project",那么您可以在&#上进行搜索34; /用户/ ME /"或" / Users / Me / Project" (后者如果你想要更安全)并替换为" / Users / You /"或" / Users / You / Project"。注意我不是在搜索"我"并替换为"你"。您想要搜索和替换,但要尽可能地控制。
  • 完成后,保存并打开项目。如果项目根本没有打开,那就意味着你搞砸了。重来。请注意,更改路径不应足以破坏文件。这可能意味着您不小心添加或删除了某些内容。
  • 如果项目文件现在打开构建。它应该有希望建立。

好的,这样就可以让你进入一个可建造的状态。现在你真的想解决问题。无论是谁,这个项目都是使用绝对路径的傻瓜。

下一部分将是乏味的。可能有办法手动完成这项工作,但我现在就把它留给读者练习。在Xcode中的文件检查器中,您需要将文件更改为“绝对路径”和“#34;绝对路径”。这是一个例子,你可以看到位置是"相对于Group"。

enter image description here

基本上,你将不得不围绕群组和文件,并将事情解决不是绝对的。确保以增量方式备份并进行构建。

等等,但不幸的是还有更多。然后,您需要进入构建设置以查看事物是否是绝对路径。然后你需要决定如何调整它。例如,第三方框架添加绝对路径的情况并不少见。

或者我想如果你愿意的话,你可以让它运转起来,跳过后半部分并且该死的其他人......