是否可以在配置文件中使用宏?我想实现这样的目标:
if iPad
set variable to 1
else
set variable to 0
这可能吗?我宁愿不为此使用脚本。
最佳答案
您通常应该在运行时而不是编译时检查它。参见 iOS - conditional compilation (xcode) .
如果您不这样做,我通常建议使用@Robert Vojta 所暗示的不同目标。
也就是说,我可以想象这在某些共享代码中会有用的情况。所以……
您可以使用名为 TARGETED_DEVICE_FAMILY
的 xcconfig 变量。它为 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 中创建条件的技术。
关于iphone - xcconfig 文件中的预处理器宏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12663323/