ChatGPT解决这个技术问题 Extra ChatGPT

警告:Copy Bundle Resources 构建阶段包含此目标的 Info.plist 文件

我已将一个项目分成两个构建,并为每个构建分配一个 plist 文件。一切正常,但我不断收到此构建警告:

警告:复制捆绑资源构建阶段包含此目标的 Info.plist 文件“MyApp-Info.plist”

当我尝试构建 MyApp 时,我得到了这个。为第二个目标构建会产生相同的错误(警告中带有 SecondTarget-Info.plist)。我不确定为什么这是一个警告,因为我希望构建包含那个 .plist 文件。每个 .plist 文件都有一个目标成员资格(用于它们自己的构建)。

这个警告是什么意思?有什么办法让它消失吗?

您不需要将 Info.plist 添加到每个目标。而是在每个目标 Build Setting -> Packaging -> Info.plist File -> 到目标 Info.plist 的位置

C
Community

https://developer.apple.com/library/content/qa/qa1649/_index.html

摘抄:

您收到此警告是因为您可能已将 Info.plist 文件添加到 Copy Bundle Resources 构建阶段,如图所示

https://i.stack.imgur.com/lbt07.png

INFOPLIST_FILE 构建设置指定与目标关联的 Info.plist 的名称。在构建目标时,Xcode 会读取此构建设置并将引用的 Info.plist 复制到您的应用程序包中。因为 Xcode 会自动处理 Info.plist,所以不应将其添加到 Copy Bundle Resources 构建阶段或使其成为目标成员。要解决此警告,请从 Copy Bundle Resource 构建阶段选择您的 Info.plist,如图 1 所示,然后单击 Remove (–) 按钮将其从该阶段中删除。


如果不解决会出现什么问题?
@hasan83,您将收到构建警告,并且构建的产品将包含一个额外的 Info.plist 副本,占用一点空间。
@kraftydevil,您的项目是否有任何子项目,因此警告可能指的是您检查的目标以外的目标?
7年后仍然有意义。
该解决方案在 Xcode 9 上对我有用。@jungledev 仍然相关,因为 Apple 正忙于更新 Swift 版本,而不是开发 Xcode 来向我们展示奇怪数字的奇怪错误的解决方案。
B
Buchannon

要在 xcode 4 中修复:

1)通过选择它并点击删除来删除对您的 info.plist 文件的引用。

2) 再次添加 info.plist 文件,但不选择目标并取消选中“添加到目标”选项。


我现在看到在将 plist 文件复制到我的项目时未取消选中“添加到目标”是我遇到此问题的原因。为了解决这个问题,我按照上面“正确答案”中的步骤进行操作,尽管在不添加目标的情况下删除和重新添加也可以。 =)
这在 Xcode 6.4 中对我有用。选择的答案没有。
看起来在最新版本的 XCode 中没有像 no destinationadd to targets 这样的选项。我看到的唯一选项是没有任何附加选项的文件。
OutStanding ......取消选中“添加到目标”选项。
M
Marc

如果有人在使用 Xcode 3 时遇到此问题,请单击“组和文件”下左列中的 .plist 文件,然后在右上角区域中,取消选中该列中 .plist 文件名称旁边的框在靶心图标下。您需要缩小编辑器(查看 -> 缩小编辑器)以显示复选框。


C
CrazyOne

另一种解决方案是:

您可能不小心从“目标成员”核心数据中删除了项目文件。

从左侧的项目导航器中选择您的 Main.storyboard 转到右侧的“文件检查器”(第一个选项卡) 找到“Target Membership”列表 启用复选框 给它一点时间来处理,但是当你在它的时候,还要检查项目中的 LaunchScreen.storyboard、.xcdatamodelid、Assets.xcassets 和所有 .swift 文件。它们都应该已启用目标成员资格。注意:Info.plist 不应启用目标成员资格检查。

希望这可以帮助。


c
ce-loco

对我来说,这与这个 ionic framework post

唯一的区别是我改变了

CODE_SIGN_IDENTITY = iPhone Distribution
CODE_SIGN_IDENTITY[sdk=iphoneos*] = iPhone Distribution

CODE_SIGN_IDENTITY = Apple Development
CODE_SIGN_IDENTITY[sdk=iphoneos*] = Apple Development

根据 Xcode 自己的建议,而不是帖子中描述的“iPhone Developer”。另外,我使用的是科尔多瓦而不是离子。如果您也是,此文件位于 platforms/ios/cordova/build-release.xconfig

ps:请记住将项目的签名设置设为自动(即使再次取消检查/检查也有帮助)


S
StuFF mc

就像一个注释......我会尝试写一个很好的雷达,但是在 Xcode 的 Storyboards 中处理本地化的方式真的很奇怪。如果您询问“在 Finder 中显示”,您将不会看到您的 .storyboard 文件被选中,而是它包含的文件夹。我认为这与情节提要的本地化有关。一旦我将它从英语更改为德语(因此在 root 或 en.lproj 中不再有该文件),我就开始遇到麻烦了。