加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何将用户定义的宏传递给xcodebuild?

发布时间:2020-12-14 17:49:59 所属栏目:百科 来源:网络整理
导读:我在命令行中通过 xcodebuild构建我的项目.不在xCode中.我想将一些marc传递给项目,以便它可以影响代码.如下面的代码: #if (API_TYPE == 1) #define URL_API @"https://dapi.xxx.com/1.1/"#elif (API_TYPE == 2) #define URL_API @"https://tapi.xxx.com/1.1
我在命令行中通过 xcodebuild构建我的项目.不在xCode中.我想将一些marc传递给项目,以便它可以影响代码.如下面的代码:

#if (API_TYPE == 1)
  #define URL_API @"https://dapi.xxx.com/1.1/"
#elif (API_TYPE == 2)
  #define URL_API @"https://tapi.xxx.com/1.1/"
#elif (API_TYPE == 3)
  #define URL_API @"https://api.xxx.com/1.1/"
#else
  #error "API_TYPE value error! should be only value 1,2,3 !"
#endif

我想在代码文件之外传递API_TYPE的定义.比如通过xcodebuild命令.
但它不能像这样工作:

xcodebuild -sdk xxx -target xxx SYMROOT=${XCSYMROOT} API_TYPE=${APITYPE}

API_TYPE的值未更改.但SYMROOT的价值发生了变化.
那么我该如何实现将值传递给API_TYPE呢?

解决方法

我知道这是一个旧帖子,但为什么不使用:

xcodebuild GCC_PREPROCESSOR_DEFINITIONS='$GCC_PREPROCESSOR_DEFINITIONS API_TYPE=1'

如果您希望能够选择覆盖应用程序中的现有定义,只需编写如下代码:

#define DEFAULT_API_TYPE 1

#ifdef API_TYPE
  #define REAL_API_TYPE API_TYPE
#else
  #define REAL_API_TYPE DEFAULT_API_TYPE
#endif

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读