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


269

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

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

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

此警告是什么意思?有什么办法可以使它消失吗?


您无需将Info.plist添加到每个目标。而是在每个目标构建设置->包装-> Info.plist文件中->目标Info.plist的位置
onmyway133

Answers:


595

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

摘抄:

之所以收到此警告,是因为您可能已将Info.plist文件添加到“副本捆绑资源”构建阶段,如图2所示。

在此处输入图片说明

INFOPLIST_FILE构建设置指定与目标关联的Info.plist的名称。构建目标时,Xcode会读取此构建设置,并将引用的Info.plist复制到您的应用程序包中。因为Xcode自动处理Info.plist,所以您不应将其添加到“副本捆绑资源”构建阶段,也不应使其成为目标成员。

要解决此警告,请从“复制捆绑包资源”构建阶段中选择您的Info.plist,如图1所示,然后单击“删除(-)”按钮将其从该阶段中删除。


如果不解决会导致什么问题?
哈桑2015年

2
@ hasan83,您将收到生成警告,并且生成的产品将包含一个额外的Info.plist副本,占用一些空间。
JWWalker

1
@kraftydevil,您的项目中是否有任何子项目,因此警告可能引用的对象不是您检查的对象?
JWWalker 2015年

5
7年后仍然有意义。
jungledev

1
该解决方案在Xcode 9上对我有用。@jungledev仍然很重要,因为Apple忙于更新Swift版本,而不是开发Xcode来向我们始终展示针对奇怪数字的奇怪错误的解决方案。
MBH

65

要在xcode 4中修复:

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

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


2
我现在看到将plist文件复制到项目中时,不要取消选中“添加到目标”是我遇到此问题的原因。为了解决该问题,我按照上面“正确答案”中的步骤进行操作,尽管删除并重新添加而不添加目标也可以。=)
RanLearn

1
这在Xcode 6.4中为我工作。所选答案没有。
kraftydevil

2

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


0

另一个解决方案是:

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

  1. 从左侧的项目导航器中选择Main.storyboard

  2. 转到右侧的“文件检查器”(第一个标签)

  3. 找到“目标会员”列表

  4. 启用复选框

  5. 给它一点时间来处理,但是在您处理的同时,还要检查项目中的LaunchScreen.storyboard,.xcdatamodelid,Assets.xcassets和所有.swift文件。它们应该都已启用为目标成员身份。

  6. 注意:Info.plist不应启用目标成员资格。

希望这可以帮助。


-2

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.