如何为不同的构建设置目标设置

时间:2012-11-17 15:36:19

标签: objective-c ios xcode cordova

在xcode 4.5中如何为不同的构建选择不同的目标设置,例如一个目标设置用于调试,一个目标设置用于发布等,所以我可以根据构建等定义不同的图标。

2 个答案:

答案 0 :(得分:4)

你有两个选择,既不完美。我将根据您的建议,专注于使用不同图标的具体示例,具体取决于您的构建配置,尽管这两种技术都可以更广泛地应用。

在Info.plist中重定向

这是最简单的方法。在目标的Info.plist中指定“图标文件”属性,例如, “图标 - $ {}配置”。然后,创建两个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将无法看到您正确设置了图标,因此例如在目标设置的“摘要”标签中,它仍会显示图标的问号占位符。您需要进行实际构建以验证其是否正常工作。

答案 1 :(得分:0)

我的解决方案与Wade的第一点非常接近,您还可以在项目配置中使用用户定义的设置添加动态后缀。

user-defined settings

我使用此解决方案来动态化图标,包显示名称以及我的构建的包标识符,以便能够使用我的开发版本旁边的应用商店中的版本。

info.plist dynamisation