可以在配置文件中使用宏吗?我想实现类似:
if iPad
set variable to 1
else
set variable to 0
那可能吗?我宁愿不为此使用脚本。
可以在配置文件中使用宏吗?我想实现类似:
if iPad
set variable to 1
else
set variable to 0
那可能吗?我宁愿不为此使用脚本。
您通常应该在运行时而不是编译时检查它。请参阅iOS - 条件编译 (xcode)。
如果您不这样做,我通常建议使用@Robert Vojta 暗示的不同目标。
也就是说,我可以想象在某些共享代码中这会很有用的情况。所以...
您可以使用一个名为 .xcconfig 的变量TARGETED_DEVICE_FAMILY
。它为 iPhone 和 iPod Touch 返回 1,为 iPad 返回 2。这可以用来创建一种宏。我不强烈推荐这种方法,但这是你如何做到的。假设您试图设置一些名为的值SETTINGS
:
// Family 1 is iPhone/iPod Touch. Family 2 is iPad
SettingsForFamily1 = ...
SettingsForFamily2 = ...
SETTINGS = $(SettingsForFamily$(TARGETED_DEVICE_FAMILY))
我在我的项目中做过几次(针对其他问题,而不是针对 iPad 检测)。每次我完成它时,都会有更多的想法让我将其删除并以更简单的方式进行(通常会找到另一种方式来构建我的项目以消除需要)。但这是一种在 xcconfig 中创建条件的技术。
AFAIK 这是不可能的。但是如果你想解决简单的任务——很多常见的设置,只有几个变量有不同的值,你可以这样做:
通用的.xcconfig:
settings for both configs
ipad.xcconfig:
#include "generic.xcconfig"
ipad-specific-settings
iphone.xcconfig
#include "generic.xcconfig"
iphone-specific-settings
这可以解决您的病情需要。我确实经常使用这个模式。
那是不可能的。配置文件没有经过预处理(和编译)。你想做什么?