4

我想将几个包含不同应用程序图标的不同资源文件夹添加到一个项目中。

然后在项目目标中设置 5 个不同的应用程序。我为每一个创建了不同的 info.plist。如何为每个应用程序指定不同的图标文件和启动图像文件?

我将有 5 个不同的文件夹包含图标图像,例如 app1/icon.png app2/icon.png

我试图将路径添加到 plist 中,但似乎无法获取文件。

如果我尝试在 Targets-Summary 选项卡中添加图标文件,它只会将它们复制到根文件夹并覆盖以前的文件。

我可以通过在图像中添加前缀来快速修复,例如 app1_icon.png、app2_icon.png

我确信有更好的方法来做到这一点。

4

2 回答 2

2

如何在单个 Xcode PROJECT 中将单独的图标和其他文件添加到多个 iOS TARGET 应用程序


因此,您有多个 iOS 应用程序在 Xcode 中共享一个公共代码库。您可能正在创建类似应用程序的 Lite/Pro、免费/付费或独特皮肤版本。您已经了解了如何复制 TARGETS,并且希望了解如何.plist为每个目标指定单独的文件。您还了解了如何使用“构建设置”>“预处理器宏”中指定的编译器指令(即#define MACROS)来启用和禁用各种目标应用程序中略有不同的行为。

现在您尝试为每个目标指定图标文件并遇到困难。如果您尝试使用不同的“默认*”启动图像或您希望每个目标使用具有相同文件名集的不同图形资源文件的其他资源,您将遇到同样的问题。

这是你必须做的:

  1. 为每个目标创建一个目录,例如“App-A”和“App-B”,您可以在其中放置由图标和其他任何内容组成的同名文件集。

  2. 在项目层次结构中使用与各种目标目录名称相同的名称创建 Xcode 组。这不是必需的,但正如您将在第 9 步中看到的那样,这让我的生活更轻松。

  3. 将您的图标和其他图像添加到这些组中。是的,它们可以(并且应该)从 Target 到 Target 具有相同的名称。例如,您可以在 App-A 和 App-B 中都有“icon-57.png”。
    提示:在向每个组添加文件之前,将 Xcode 设置为为与该组关联的目标构建。例如,如果您要向 App-B 添加图像,请在 Xcode 界面左上角的“运行”和“停止”按钮附近,在选项菜单中选择“App-B > My iPhone”。这会将您的图像成员资格与正确的目标相关联,并在接下来的步骤中为您提供帮助。此提示不是必需的。

  4. 现在是@rckoenes 在上面的评论中建议的重要部分。您必须为添加的每个文件设置目标成员资格。单击每个目标,选择“构建阶段”,然后向下旋转“复制捆绑资源”。您必须添加适用于该目标的图像并删除其他目标或多个目标使用的图像。如果您在上一步中遵循了“提示”,则可能已经为您正确设置。然而,在接下来的步骤中,这个列表可能会被损坏,你必须回到这里重新调整它。

  5. 您现在已经完成了在整个应用程序中使用的通用资源图像。您可能已将此方法用于项目中需要在每个目标中看起来不同的图像或按钮图形。现在应该是这样。

  6. 图标和默认* 背景图像是另一回事,因为 Target Summary 面板允许您通过拖放来填充这些资源。接下来的步骤将帮助您。

  7. 对于每个目标,将图标和启动图像文件拖动到摘要屏幕中的图像持有者。当然,它们必须是正确的尺寸。Xcode 会询问您是否允许将这些文件复制到项目的根目录。允许它,您稍后将删除它们。在随后的传递过程中,Xcode 将询问是否允许覆盖已经在您的根目录中的文件。再次,允许它。

  8. 在 Xcode 中,删除项目根目录中出现的所有新复制的图标和启动器图像文件。允许 Xcode 将它们移动到垃圾箱。

  9. 最后,所有创建、移动和复制文件的操作都可能对您的 Target Memberships 造成严重破坏。返回到上述第 4 步中的说明并清理您的所有会员资格。由于路径显示在文件名之后,因此您可以轻松地从错误目标中发现包含在一个目标中的图像。这只是我们应该小心创建具有匹配目标名称的目录和组的原因之一,如步骤 #1 和 #2 中建议的那样。

您的每个应用程序现在都将显示正确的应用程序图标和启动器背景图像。

如果您之前安装的应用程序没有应用程序图标或图标错误,您可能需要删除该应用程序并重新安装才能看到新图标。


下图有助于可视化多个目标:
目标

于 2013-08-23T00:35:11.783 回答
0

通过包括每个目标的图像。

所以 app1 包括app1/icon.png但不包括任何其他和 app2 包括app2/icon.png.

于 2013-08-01T10:04:10.860 回答