我想添加几个不同的资源文件夹包含不同的应用程序图标到一个项目.
然后在项目目标中设置5个不同的应用程序.我为每个人创建了不同的info.plist.如何为每个应用指定不同的图标文件并启动图像文件?
我会有5个不同的文件夹包含图标图像,例如app1 / icon.png app2 / icon.png
我试图将路径添加到plist中,但似乎无法获取文件.
如果我尝试在“目标 – 摘要”选项卡中添加图标文件,它只会将它们复制到根文件夹中并覆盖以前的文件夹.
我可以通过在图像中添加前缀来快速修复,例如app1_icon.png,app2_icon.png
我确信有更好的方法可以做到这一点.
最佳答案 如何在单个
Xcode项目中将单独的图标和其他文件添加到多个iOS TARGET应用程序
因此,您有多个iOS应用程序共享Xcode中的公共代码库.
您可能正在创建类似应用程序的Lite / Pro,Free / Paid或独特皮肤版本.
您已经找到了如何复制TARGETS的方法,并且您希望能够找到如何为每个目标指定单独的.plist文件.您还意识到如何使用“Build Settings”>中指定的编译器指令(即#define MACROS). “预处理器宏”可在各种Target应用程序中启用和禁用略有不同的行为.
现在,您正在尝试为每个目标指定图标文件并遇到困难.如果您尝试使用不同的“默认*”启动映像或其他资源(其中您希望每个目标使用具有相同文件名集的不同图形资源文件),则会遇到相同的问题.
这是你要做的:
>为您的每个目标创建一个目录,例如“App-A”和“App-B”
可以放置由图标组成的同名文件集
等等.
>在项目层次结构中创建与各种目标目录名称相同的Xcode组.这不是必需的,但让我的生活更轻松,就像你将在第9步中看到的那样.
>将您的图标和其他图像添加到这些组.是的,他们可以(并且应该)从Target到Target具有相同的名称.例如,您可以在App-A和App-B中使用“icon-57.png”.
提示:在向每个组添加文件之前,请将Xcode设置为与该组关联的Target构建.例如,如果要将图像添加到App-B,在“运行”和“停止”按钮附近的Xcode界面的左上角,请在选项菜单中选择“App-B>我的iPhone” .这会将您的图像成员资格与正确的目标相关联,并在后续步骤中为您提供帮助.此提示不是必需的.
>现在是@rckoenes上面评论中提到的重要部分.您必须为添加的每个文件设置目标成员资格.单击每个Target,选择“Build Phases”,然后关闭“Copy Bundle Resources”.您必须添加适合该目标的图像,并删除其他目标或目标使用的图像.如果您按照上一步中的“提示”进行操作,则可能已经为您正确设置了该提示.然而,在以下步骤中,此列表可能会损坏,您将不得不回到这里并再次调整它.
>您现在已经完成了在整个应用程序中使用的一般资源图像.您可能已将此方法用于项目中需要在每个Target中看起来不同的图像或按钮图形.它现在应该如此.
>图标和默认*背景图像是不同的故事,因为“目标摘要”面板允许您通过拖放来填充这些资源.接下来的步骤将帮助您.
>对于每个目标,在“摘要”屏幕中拖动图标并将图像文件启动到图像持有者.当然,它们必须是正确的尺寸. Xcode会请求您的许可将这些文件复制到项目的根目录.允许它,您将在以后删除它们.在后续过程中,Xcode将请求权限覆盖根目录中已有的文件.再说一次,允许它.
>在Xcode中,删除项目根目录中出现的所有新复制的图标和启动器图像文件.允许Xcode将它们移动到垃圾箱.
>最后,创建,移动和复制文件的所有内容都可能对您的目标成员资格造成严重破坏.返回上面步骤4中的说明并清理所有会员资格.您可以轻松地从错误的目标中查找一个目标中包含的图像,因为路径显示在文件名后面.这只是我们应该小心创建具有匹配目标名称的目录和组的原因之一,如步骤#1和#2中所建议的那样.
您的每个应用现在都会显示正确的应用程序图标和启动器背景图像.
如果您的应用程序以前安装时没有应用程序图标或错误图标,则可能必须删除该应用程序并重新安装才能看到新图标.
以下图片可以帮助实现多个目标的可视化: