在 xcode 4.5 中,我如何为不同的构建选择不同的目标设置,例如一种用于调试的目标设置、一种用于发布的目标设置等,因此我可以根据构建等定义不同的图标。
2 回答
你有两个选择,都不完美。正如您所建议的,我将专注于根据您的构建配置使用不同图标的具体示例,尽管这两种技术都可以更广泛地应用。
在您的 Info.plist 中重定向
这是最简单的方法。在目标的 Info.plist 中指定“图标文件”属性,例如“Icon-${CONFIGURATION}”。然后,创建两个 ICNS 图标,“Icon-Release.icns”和“Icon-Debug.icns”,并将它们添加到您的项目中。就是这样。这种方法的缺点是每次都会将两个图标复制到您构建的应用程序中,而不仅仅是它需要的那个。
使用“运行脚本”构建阶段
这涉及更多一点,但它会给你一个更好的结果。使用以下脚本向您的目标添加运行脚本构建阶段:
cp "$(dirname "${PRODUCT_SETTINGS_PATH}")/Icon-${CONFIGURATION}.icns" "${SCRIPT_OUTPUT_FILE_0}"
将其输出文件指定为:
$(TARGET_BUILD_DIR)/$(UNLOCALIZED_RESOURCES_FOLDER_PATH)/Icon.icns
并确保 Info.plist 中的“图标文件”属性设置为“图标”。
这依赖于您的图标与源代码树中的 Info.plist 位于同一文件夹中(尽管您可以编辑脚本,但您希望适合您的项目配置)。
另请注意,使用这种方法,Xcode 将无法看到您已正确设置图标,因此例如在目标设置的“摘要”选项卡中,它仍会显示图标的问号占位符。您需要进行实际构建以验证它是否正常工作。
我的解决方案与 Wade 的第一点非常接近,您还可以在项目配置中使用用户定义的设置添加动态后缀。
我使用这个解决方案来动态化图标、包显示名称以及我的构建的包标识符,以便能够在我的开发版本旁边使用来自应用商店的版本。