繁体   English   中英

Xcode找不到源文件

[英]Xcode can't find source files

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

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

感谢您的见解。

因此,这也许不是一个温和的方法,但是我经常比修复Xcode项目文件做更多的事情。 我倾向于成为与我合作的团队中执行此操作的人...手动编辑项目文件。 .xcodeproj文件实际上只是一个特殊的文件夹。 实际的项目文件是project.pbxproj

  • 首先备份项目文件。 选择是否要执行完整的.xcodeproj或仅执行project.pbxproj
  • 使用您喜欢的文本编辑器并打开project.pbxproj文件。
  • 搜索并替换路径前缀。 为了进行此练习,您应尝试使路径尽可能相似以使其更容易。 例如,如果硬编码路径为/Users/Me/Project/Images/newfolder/image.png且所有前缀通常为“ / Users / Me / Project”,则只需在“ / Users / Me /”上进行搜索或“ / Users / Me / Project”(如果需要更高的安全性则使用后者),并替换为“ / Users / You /”或“ / Users / You / Project”。 注意我不是在搜索“我”,而是用“您”代替。 您要搜索和替换,但要尽可能地加以控制。
  • 完成后,保存并打开项目。 如果项目根本没有打开,则意味着您搞砸了。 重来。 请注意,更改路径不足以破坏文件。 这可能意味着您不小心添加或删除了某些内容。
  • 如果项目文件打开,请立即构建。 它有望建立。

好的,这样就可以进入可构建状态。 现在您真的要修复问题。 该项目的执行者是使用绝对路径的关键人物。

下一部分将是乏味的。 可能有手动完成此操作的方法,但我现在将其留给读者练习。 在Xcode的文件检查器中,您将需要将文件更改为“绝对路径”以外的任何内容。 这是一个示例,您可以看到该位置是“相对于组”。

在此处输入图片说明

从本质上讲,您将不得不遍历组和文件并将其修复为非绝对的。 确保增量备份并可以构建。

等待,但是不幸的是还有更多。 然后,您需要进入“构建设置”以查看事物是否是绝对路径。 然后,您需要确定如何对此进行调整。 例如,为第3方框架添加绝对路径并不罕见。

或者我想,如果您愿意的话,您可以使其正常运行,并跳过此部分的后半部分,并责骂其他所有人...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM