【问题标题】:Warning: The Copy Bundle Resources build phase contains this target's Info.plist file警告:Copy Bundle Resources 构建阶段包含此目标的 Info.plist 文件
【发布时间】:2011-03-06 22:53:49
【问题描述】:

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

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

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

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

【问题讨论】:

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

标签: ios iphone xcode build target


【解决方案1】:

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 (–) 按钮将其从该阶段中删除。

【讨论】:

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

在 xcode 4 中修复:

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

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

【讨论】:

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

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

【讨论】:

    【解决方案4】:

    另一种解决方案是:

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

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

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

    3. 查找“目标成员”列表

    4. 启用复选框

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

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

    希望这会有所帮助。

    【讨论】:

      【解决方案5】:

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

      【讨论】:

        【解决方案6】:

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

        【讨论】:

          猜你喜欢
          • 2015-10-07
          • 1970-01-01
          • 2011-11-06
          • 1970-01-01
          • 1970-01-01
          • 2011-10-18
          • 2019-04-08
          • 2020-03-14
          • 1970-01-01
          相关资源
          最近更新 更多