【问题标题】:How to populate different Info.plists for different configurations in Xcode如何为 Xcode 中的不同配置填充不同的 Info.plist
【发布时间】:2011-05-27 00:21:10
【问题描述】:

我需要为同一目标的 iOS 设备和模拟器方案填充不同的 Info.plist。我如何实现它? 问题如下:我的应用程序是 voip,因此我需要向 Info.plist 添加一个 UIBackgroundModes,但问题是当这个属性存在于 plist 中并且我运行 Simulator 方案时,Simulator 只是停留在启动屏幕上,而我即使按下主页按钮也不会做任何事情,控制台也不会显示任何内容。所以我想要一个不带 UIBackgroundModes 属性的模拟器方案的 plist 和第二个 - 带有。我可以用 shell 脚本来做,但由于这两种方案的脚本是相同的,我不知道如何区分它们......

TIA

【问题讨论】:

    标签: xcode configuration ios4 ios-simulator info.plist


    【解决方案1】:

    另一种解决方案:

    在 Xcode 4.3(可能更早)中,您可以在 Info.plist 中使用预处理器定义。例如,您可以将 UIBackgroundModes 设置为 ${MY_BACKGROUNDMODES}

    然后,您可以在构建设置中为每个构建配置定义不同的 MY_BACKGROUNDMODES 值。

    【讨论】:

    • 使用 ${MY_BACKGROUNDMODES} 没有正确引用构建设置中定义的任何预处理器宏(这是我解释“预处理器定义”的方式)。但是,它确实引用了具有该名称的实际构建设置。
    【解决方案2】:

    在项目视图中。如果您单击任何给定的组文件夹,则会在其内容拆分的上半部分显示一个表格列表。

    最右边的列是一个复选框,它告诉您该项目是否包含在目标中。克隆您的调试目标配置和 plist。在您的模拟配置中包含一个 plist,在您的设备配置中包含另一个。

    【讨论】:

    • 这就是我想要避免的……我想要一个目标,并通过一些定义运行环境的设置来区分 plist。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-03-16
    • 2011-01-04
    • 1970-01-01
    • 1970-01-01
    • 2010-12-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多