Info.plist文件中的配置相关值

38

我的iOS项目中有三个配置:

  1. 调试(Debug)
  2. Adhoc
  3. 发布(Release)

现在我想将应用程序名称更改为以下内容:

  1. MyAppDebug
  2. MyAppAdhoc
  3. MyApp(请注意,此项没有后缀)

在Xcode中是否有一种可以使用某种类型的“编译器-if-else-macro-thing”轻松实现此目的的方法?


3个回答

63

更改应用程序的显示名称以适应不同的配置:

第一部分:创建一个用户定义变量

  1. 点击目标项目文件。
  2. 然后在右下角找到“+”“添加构建设置”按钮。
  3. 单击“添加构建设置”按钮,并选择“添加用户定义设置”,为新设置输入名称,例如:“BUNDLE_DISPLAY_NAME”。
  4. 展开此新设置以查看其下的配置。为每个配置提供要显示的所需名称。 例如:Debug -> MyAppDebug。

第二部分:使用它

  1. 选择您的应用程序-info.plist文件。
  2. 定位键“Bundle Display Name”并将值设置为这个新的用户定义变量${BUNDLE_DISPLAY_NAME}。

然后对于适当的配置,它将从构建设置中的BUNDLE_DISPLAY_NAME变量中选择名称。


这是一个很好的答案。对于维护两个版本的应用程序(发布/生产)的任何人来说,这是非常有价值的信息。 - polterfest
这是做这件事的最佳方式。 - Jon
2
有没有办法对布尔值进行这样的操作?对我来说似乎不起作用。 - Waltari

13

你也可以为不同的配置拥有两个不同的 info plist 文件,并且从 Build Settings > Info.plist File 部分更改它。

XCode 10.1

3
当然。首先,您需要为每个配置创建单独的Info.plist文件。然后,在您项目的构建设置中找到放置Info.plist的行,展开该行并选择每个配置所需的单独的Info.plist文件。然后,您可以在每个Info.plist文件的相应字段中输入所需的名称。就是这样 :)

2
有没有可能做到这一点,但不需要为每个plist重复所有值?或者也许可以使主要plist中的键的值动态匹配配置plist中的值? - Farski
1
是的,创建一个用户定义的构建设置,然后根据您正在构建的配置使用该值。 - ganders

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接