커맨드 라인에서 xcodebuild로 프로젝트를 빌드합니다. xCode에 없습니다. 코드에 영향을 줄 수 있도록 일부 마크를 프로젝트에 전달하고 싶습니다. 아래 코드와 같은 :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
죄송합니다. 고객님의 의견을 이해할 수 없습니다. 프리 프로세서 매크로 빌드 설정에 'API_TYPE = $ (API_TYPE)'텍스트를 입력하는 데 문제가 있습니까? –
xcode 프로젝트 설정에서 디버그 설정에 "API_TYPE = 0 DEBUG = 1"텍스트를 입력합니다. 하지만 아래 명령과 같은 xcodebuild를 사용하는 명령 줄에서 : "APITYPE = 2 xcodebuild -sdk xxx -target xxx SYMROOT = $ {XCSYMROOT} API_TYPE = $ {APITYPE}"xcodebuid 명령에 값 2가 전달되지 않았 으면 좋겠다. . API_TYPE = 1 값은 건물 결과에 영향을줍니다. – qiushuitian