我已将一个项目分成两个构建,并为每个构建分配一个 plist
文件。一切正常,但我不断收到此构建警告:
警告:复制捆绑资源构建阶段包含此目标的 Info.plist 文件“MyApp-Info.plist”
当我尝试构建 MyApp
时,我得到了这个。为第二个目标构建会产生相同的错误(警告中带有 SecondTarget-Info.plist
)。我不确定为什么这是一个警告,因为我希望构建包含那个 .plist
文件。每个 .plist
文件都有一个目标成员资格(用于它们自己的构建)。
这个警告是什么意思?有什么办法让它消失吗?
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 (–) 按钮将其从该阶段中删除。
要在 xcode 4 中修复:
1)通过选择它并点击删除来删除对您的 info.plist 文件的引用。
2) 再次添加 info.plist 文件,但不选择目标并取消选中“添加到目标”选项。
no destination
或 add to targets
这样的选项。我看到的唯一选项是没有任何附加选项的文件。
如果有人在使用 Xcode 3 时遇到此问题,请单击“组和文件”下左列中的 .plist 文件,然后在右上角区域中,取消选中该列中 .plist 文件名称旁边的框在靶心图标下。您需要缩小编辑器(查看 -> 缩小编辑器)以显示复选框。
另一种解决方案是:
您可能不小心从“目标成员”核心数据中删除了项目文件。
从左侧的项目导航器中选择您的 Main.storyboard 转到右侧的“文件检查器”(第一个选项卡) 找到“Target Membership”列表 启用复选框 给它一点时间来处理,但是当你在它的时候,还要检查项目中的 LaunchScreen.storyboard、.xcdatamodelid、Assets.xcassets 和所有 .swift 文件。它们都应该已启用目标成员资格。注意:Info.plist 不应启用目标成员资格检查。
希望这可以帮助。
对我来说,这与这个 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:请记住将项目的签名设置设为自动(即使再次取消检查/检查也有帮助)
就像一个注释......我会尝试写一个很好的雷达,但是在 Xcode 的 Storyboards 中处理本地化的方式真的很奇怪。如果您询问“在 Finder 中显示”,您将不会看到您的 .storyboard 文件被选中,而是它包含的文件夹。我认为这与情节提要的本地化有关。一旦我将它从英语更改为德语(因此在 root 或 en.lproj 中不再有该文件),我就开始遇到麻烦了。