我在命令行中用xcodebuild構建我的項目。不在xCode中。我想將一些marc傳遞給該項目,以便它可以影響代碼。如下面的代碼:如何將用戶定義的宏傳遞給xcodebuild?
#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之外?
我可以定義API_TYPE。但我無法改變它的定義值。如SYMROOT。 – qiushuitian 2012-08-13 08:49:44
對不起,我不明白你的評論。在預處理器宏構建設置中輸入文本「API_TYPE = $(API_TYPE)」時是否遇到問題? – 2012-08-13 11:12:14
我在xcode項目設置的調試配置中輸入文本「API_TYPE = 0 DEBUG = 1」。但是在使用xcodebuild的命令行中,如下面的命令:「APITYPE = 2 xcodebuild -sdk xxx -target xxx SYMROOT = $ {XCSYMROOT} API_TYPE = $ {APITYPE}」它喜歡值2沒有傳遞給xcodebuid命令。 API_TYPE = 1值影響建築結果。 – qiushuitian 2012-08-14 03:07:42