Xcode中 工程全局宏与预处理 的配合使用

本文介绍了如何在Xcode中利用工程全局宏与预处理指令配合,针对不同target设置宏,例如target1设为kTargetMode=1,target2设为kTargetMode=2。在.pch文件中,根据kTargetMode的值定义不同宏,如TargetModeAPI或TargetModeWANPU。在.m文件里,通过宏定义进行条件编译,实现针对不同target的特定操作,如打印特定日志。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文档说明
  在Xcode 中,创建多个target可以有效的处理同一份代码,多版本控制。如果每个版本需要在不同条件下,针对不同的target实现不同的参数/环境 

实际设置

1.针对不同target的宏设置

在每个target的build setting 下,找到preprocessor macros,添加每个target对应的宏。如:
    target1--->kTargetMode=1

    target1--->kTargetMode=2


.pch中 针对kTargetMode的不同,选择不同的宏定义

    #if kTargetMode==0

        #define TargetModeAPI

   #elif kTargetMode==1

         #define TargetModeWANPU

   #endif


在.m中,当需要对target类型进行判断,并给予不同的操作处理时:

   #if defined(TargetModeAPI)

        NSLog(@"这个是api");

    #elif defined(TargetModeWANPU)

        NSLog(@"这个是万普");

    #endif


2.针对release与debug

#ifdef DEBUG
 #define LOG(...) NSLog(__VA_ARGS__);
 #define LOG_METHOD NSLog(@"%s", __func__);
#else
 #define LOG(...);
 #define LOG_METHOD;
#endif


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值