首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >编译项目时能检测到目标吗?

编译项目时能检测到目标吗?
EN

Stack Overflow用户
提问于 2018-01-25 14:10:54
回答 1查看 82关注 0票数 0

我有一个有两个目标的应用程序,小版/目标里面有谷歌admob广告。现在我使用下面的代码来处理。

代码语言:javascript
复制
//App_Prefix.pch
#define _lite

在appDelegate中

代码语言:javascript
复制
// AppDelegate.m
#ifdef _lite

@import GoogleMobileAds;
#endif
@implementation  AppDelegate

编译项目时是否可以检测目标。下面的代码可以检测到目标,

代码语言:javascript
复制
  //-------------detect target
  #define _lite [ [[[NSProcessInfo processInfo]environment]objectForKey:@"TARGET"] isEqualToString:@"lite"]

但是它不适合以前的零件。

代码语言:javascript
复制
@implementation 

欢迎您的评论

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-25 14:25:06

选项1

Use可以为每个目标定义Preprocessor Macros

  1. 转到您的项目设置
  2. 选择目标
  3. Build Settings,去Preprocessor Macros
  4. 为所有配置添加宏(例如APP_TARGET_A )(调试/发布)

  1. 对所有其他目标也这样做。

现在,您可以在.pch文件中定义的宏中使用它。

代码语言:javascript
复制
#define APP_TARGET_A
@implementation 
#endif

选项2

您可以为每个目标拥有不同的.pch文件。复制.pch文件,例如Target_A_Prefix.pch Target_B_Prefix.pch,并将其添加到项目中(取消选中所有目标)。

在Build中,转到Prefix Header并为每个配置设置到.pch的路径。对所有目标都做同样的事情。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48444892

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档