Xcode 使用GCC预处理器宏在多个目标之间共享info.plist以维护特定字段

Xcode 使用GCC预处理器宏在多个目标之间共享info.plist以维护特定字段,xcode,info.plist,Xcode,Info.plist,在我的许多应用程序中,我有3种不同的构建配置(调试、发布、沙盒)。在使用不同的环境和应用程序内购买时,您会体验到这一点 通常只有一些小的更改,如CFBundleIdentifier。是否可以使用GCC预处理器宏在不同的构建配置中保持变化,同时只使用一个plist?对于简单的更改,通常甚至不需要使用C预处理器。在这些情况下,定义自定义生成设置并在Info.plist文件中使用此设置的值通常就足够了。默认情况下,生成设置在Info.plist中展开 示例: 在项目视图的Xcode中选择“构建设置”,

在我的许多应用程序中,我有3种不同的构建配置(调试、发布、沙盒)。在使用不同的环境和应用程序内购买时,您会体验到这一点


通常只有一些小的更改,如
CFBundleIdentifier
。是否可以使用GCC预处理器宏在不同的构建配置中保持变化,同时只使用一个plist?

对于简单的更改,通常甚至不需要使用C预处理器。在这些情况下,定义自定义生成设置并在Info.plist文件中使用此设置的值通常就足够了。默认情况下,生成设置在Info.plist中展开

示例:

在项目视图的Xcode中选择“构建设置”,并使用+按钮添加“用户定义的设置”。将设置命名为例如
MY_BUNDLE\u IDENTIFIER
并键入值,例如
MyApp.agens.no

打开Info.plist文件,选择“Bundle identifier”键并将其值设置为
${MY_Bundle\u identifier}

如果在其他配置或目标中更改
MY\u BUNDLE\u标识符
build设置,则将使用新的BUNDLE标识符生成产品