Xcode构建时错误:'无法加载文件列表的内容:'.../Info.plist'(在目标“xxxx”中)

65

今天在一个项目中,Xcode开始报告这个错误,但我很难弄清楚它的意思以及如何进行故障排除。在任何搜索中都没有找到相关信息。当尝试构建设备时(没有编译脚本等),立即出现以下错误:

错误: 无法加载文件列表内容: '/Users/.../Products/Debug-appletvos/myapp.app/Info.plist'(在目标 'myapp' 中)

完整日志如下(请注意我已将构建文件夹替换为...以节省篇幅)

Showing Recent Messages

Prepare build
note: Using new build systemnote: Planning buildnote: Constructing build description

Build system information
error: Unable to load contents of file list: '/Users/.../Products/Debug-appletvos/myapp.app/Info.plist' (in target 'myapp')


Build failed    3/5/19, 3:09 PM    0.2 seconds

我到目前为止尝试过的方法:

  • 重新启动Xcode
  • 重新启动计算机
  • 'Product' > 'Clean Build Folder'
  • 手动删除Build文件夹中的所有内容
  • 在同一台计算机上重新下载资料库(仍有相同问题)
  • 在另一台计算机上重新下载资料库(仍有相同问题)
  • 恢复到以前正常工作的提交版本(仍有相同问题)
  • plutil Info.plist 响应 Info.plist: OK

其他需要注意的事项:

  • 项目使用Cocoapods
  • 项目利用自定义C++代码
  • Info.plist文件中唯一列出的文件列表是2个自定义字体,但这些在Xcode项目浏览器中显示正常(不是红色)。

如果有人遇到过这种情况并已解决,或者有任何其他故障排除建议,请告诉我,非常感谢!

11个回答

119

在我的情况下,我只是进行了如下修复:

  1. 在项目文件夹下打开终端
  2. pod deintegrate
  3. sudo gem install cocoapods-clean
  4. pod clean
  5. 打开项目并删除(如果仍然存在)应为红色的“Pods”文件夹
  6. pod setup(这可能需要一些时间)
  7. pod install

1
我已经在Xcode 11.3.1上尝试过了,它解决了这个问题。谢谢。 - Ali Emre Çakmakoğlu
我在Xcode 12.3上尝试了一下,效果非常棒。感谢你提供如此精彩的答案。 - Ratneshwar Singh
使用Xcode 13.2.1进行开发。谢谢! - Abdul Ali Bangash
使用Xcode 14.0工作,非常感谢! - Felipe Novaes
在我的情况下,在运行完这个脚本之后,需要执行以下命令:pod install --repo-update - undefined

24

我用以下方法解决了这个问题:

1、进入你的项目目标(target),-> 构建阶段(Build Phases)-> 嵌入 Pods 框架(Embed Pods Frameworks)

2、检查输入文件和输入文件列表、输出文件和输出文件列表。

3、将目录从输入文件列表移动到输入文件中,将输出文件列表移动到输出文件中。

屏幕截图


2
[CP] Copy Pods Resources - huync
1
@Randall Wang非常感谢,但请告诉我为什么会发生这种情况呢? - Vinayak Bhor

16

过了一段时间后,我意识到我的同事已经将CocoaPods更新到最新版本,所以我的做法只是

sudo gem install cocoapods

搞定了!:)


2
是的,升级到1.7.2版本,然后再次运行pod install就可以了。 - auspicious99
1
我不知道为什么,但我看到了这个并意识到了。谢谢。 - Enkha

10

终于弄清楚了,我在这里发布一下,以便其他搜索此问题的人能够找到。

这是由构建脚本中使用“输入文件列表”选项引起的问题,删除并重新添加该脚本可以解决问题。

  • 导航到目标
  • “Build Phases”选项卡
  • “Run Script”阶段
  • 记下其中的内容并将其删除
  • 重新运行以确保事情能够正常工作
  • 重新添加脚本(以及“Input File Lists”下的内容)

1
在我的情况下,当我尝试使用Carthage添加一个框架时,我错误地把输出文件路径放到了“输入文件列表”中,而不是应该放在“输出文件”中。 - TMin

8
问题在于您将路径添加到输入文件列表而非输入文件

4
在我的情况下
pod deintegrate
pod install

足够了

2

在我的情况下,我只是做了以下修复:

1- 进入您的项目目标, -> 构建阶段 -> 删除 [CP] Copy Pods Resources。 2- 运行 pod deintegrate 命令。 3- 运行 pod install 命令。


1

首先,您需要执行以下操作:

  • 删除.xcworkspace文件
  • 删除Podfile.lock文件和Pods/目录
  • 保留Podfile
  • 重新运行pod install

如果错误仍然存在,您需要在您的.xcconfig文件中添加包含CocoaPods的.xcconfig路径,方法是在#include语句之前添加如下内容:#include "Pods/[Terminal中的.xcconfig文件路径]"

例如:

我有两个环境StagProduction

  • 在终端中运行pod文件后,您将在终端中看到CocoaPods未设置配置,因为我们已经设置了自定义配置。 CocoaPods提供了一个链接,需要在每个文件中包含。

message from Teminal

  • 打开 .xcworkspace 文件并选择 .xcconfig 文件

step by step stag enviroment

step by step production enviroment

最后,按下Cmd + Shift + K并运行项目。

祝你好运!


1

不需要取消整合Pod,然后重新安装。只需运行

pod install

它将创建新配置所需的文件。

0
在我的情况下,Xcode使用了一个不存在的构建配置。进入“编辑方案...”并选择一个有效的方案就解决了这个问题。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接