我有一个有两个目标的应用程序,精简版/目标里面有google admob广告。 现在我使用下面的代码来处理。
//App_Prefix.pch
#define _lite
// AppDelegate.m
#ifdef _lite
@import GoogleMobileAds;
#endif
@implementation AppDelegate
编译项目时是否可以检测TARGET。 下面的代码可以检测目标,
//-------------detect target
#define _lite [ [[[NSProcessInfo processInfo]environment]objectForKey:@"TARGET"] isEqualToString:@"lite"]
但它不适合
之前的部分@implementation
您的评论欢迎
答案 0 :(得分:3)
选项1
使用可以为每个目标定义Preprocessor Macros
。
Build Settings
转到Preprocessor Macros
为所有配置(调试/发布)添加宏,例如APP_TARGET_A
对所有其他目标执行相同操作
现在,您可以像使用.pch
文件中定义的宏一样使用它。
#define APP_TARGET_A
@implementation
#endif
选项2
每个目标可以有不同的.pch
个文件。复制.pch
文件,例如Target_A_Prefix.pch
Target_B_Prefix.pch
并将其添加到项目中(取消选中所有目标)。
在构建设置中,转到Prefix Header
并为每个配置设置.pch
的路径。对所有目标都这样做。