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

来源:互联网 发布:网络市场结构特征分析 编辑:程序博客网 时间:2024/06/10 21:51
文档说明
  在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


0 0