276

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

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

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

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

4

6 回答 6

611

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

摘抄:

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

在此处输入图像描述

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

要解决此警告,请从 Copy Bundle Resource 构建阶段选择您的 Info.plist,如图 1 所示,然后单击 Remove (–) 按钮将其从该阶段中删除。

于 2010-06-22T17:54:58.153 回答
65

要在 xcode 4 中修复:

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

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

于 2011-07-06T20:31:40.727 回答
2

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

于 2012-01-20T19:06:03.343 回答
1

另一种解决方案是:

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

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

  2. 转到右侧的“文件检查器”(第一个选项卡)

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

  4. 启用复选框

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

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

希望这可以帮助。

于 2018-12-31T03:15:39.263 回答
0

对我来说,这与这个离子框架帖子有关

唯一的区别是我改变了

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:请记住将项目的签名设置设为自动(即使再次取消检查/检查也有帮助)

于 2021-05-27T10:44:05.310 回答
-2

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

于 2013-01-16T09:54:11.870 回答