我有一个带有两个目标的应用,精简版/目标内部有google admob广告。
现在,我使用下面的代码进行处理。
//App_Prefix.pch
#define _lite
在appDelegate中
// AppDelegate.m
#ifdef _lite
@import GoogleMobileAds;
#endif
@implementation AppDelegate
编译项目时是否可以检测到TARGET。
以下代码可以检测目标,
//-------------detect target
#define _lite [ [[[NSProcessInfo processInfo]environment]objectForKey:@"TARGET"] isEqualToString:@"lite"]
但不适合之前的部分
@implementation
欢迎您发表评论
最佳答案
选项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
。对所有目标执行相同的操作。关于ios - 编译项目时是否可以检测到TARGET,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48444892/