是否可以从prefix.pch文件中的Info.plist文件中读取值并根据该值坐一个宏?
例如,如果我在Info.plist中有一个名为UseSomeResource
的布尔属性,如果该属性的值为YES,我想创建一个#define USE_SOME_RESOURCE 1
。
答案 0 :(得分:0)
理论上是的,虽然我不认为.pch是最好的地方。我建议将此宏放在您在.pch中导入的Macros.h
或类似机制中
#define USE_SOME_RESOURCE ([[[[NSBundle mainBundle] infoDictionary] objectForKey:@"UseSomeResource"] boolValue])
More about .pch can be read here
值得注意的是,这仍然会在运行时确定值,而不是在编译时。如果您希望它在编译时运行,您可能需要编写一个脚本作为构建阶段的一部分,该脚本读取Info.plist,并创建一个头文件,然后将其作为项目的一部分包含在内。这似乎是一个非常简单的方法,因此我强烈建议运行时替代方案。