使用info.plist为多目标应用程序存储特定于目标的值

18

我有一个多目标iPhone应用程序,目前包含一个带有常量定义的头文件,这些常量定义在构建时根据正在构建的目标被有条件地包含。

然而,我想知道将此信息包含在info.plist中是否更好,因为它通常保存特定于目标的元数据,因此在逻辑上似乎更合适。

因此,我的问题是:

  1. 在info.plist文件中包含自定义(非苹果定义)键是否可行?
  2. 在这里包括在应用程序之间不同的目标元数据是否合适?
1个回答

17

这是可接受的且合适的。

Info.plist文件经过C预处理器预处理(必须在项目设置中启用,将Packaging/Preprocess Info.plist File设置为Yes),因此您可以使用变量(以${VARIABLE_NAME}形式)。 这些变量可以在Xcode的目标信息中的User Defined部分中定义,使得非常容易地从一个目标切换到另一个目标并更改它们的值。


太棒了,我不知道为什么我从来没有想到过苹果自己使用变量,但这意味着我的多个info.plist文件实际上可以简化为一个,并且只需通过预处理器在编译期间插入变量即可。对我来说,在编译时调整设置更有意义。 - andybee
我不确定你的意思。你可以在项目的“获取信息”窗格中设置值。 - pgb
1
你可以使用 NSDictionary* infoDictionary = [[NSBundle mainBundle] infoDictionary]; 获取那个字典。 - pgb

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