2013-08-07 2 views
5

현재 iOS 용 테스트 자동화에 xcodebuild을 사용하고 있습니다.xcodebuild를 통해 컴파일러 플래그 전달

지금 당장 컴파일러 플래그를 Xcode를 통해 컴파일러에 전달하려고합니다. 이 플래그는 -fprofile-arcs -ftest-coverage입니다.

나는 xcodebuild 명령을 통해 이러한 플래그를 주입하려는 이유 때문에 xcodeproj를 수정할 자유가 없습니다. 같은

그것은 것 일 :

xcodebuild -project path/to/my.xcodeproj -scheme MyApp -fprofile-arcs -ftest-coverage 

는 그게 가능합니까? 방법?

+1

이 – borrrden

+0

OTHER_CFLAGS 인수가 이미 슬프게도 :(xcodeproj 설정에서 사용되는 OTHER_CFLAGS 인수를 사용하여 설정을 시도하지만이 솔루션은 아래 봐 :) 얻었다. – aspyct

답변

5

분명히 대부분의 컴파일러 플래그는 상수로 표현 될 수 있으며 xcodebuild를 통해 컴파일러로 쉽게 전달 될 수 있습니다.

xcode 빌드 설정보기에서 옵션을 선택하고 command-C (복사)를 누르십시오. 제 경우에는 GCC_GENERATE_TEST_COVERAGE_FILESGCC_INSTRUMENT_PROGRAM_FLOW_ARCS입니다.

내 명령은 대략 다음과 같습니다

xcodebuild GCC_GENERATE_TEST_COVERAGE_FILES=YES GCC_INSTRUMENT_PROGRAM_FLOW_ARCS=YES ... 
+2

이 답변은 혼란을 야기 할 수 있습니다. 컴파일러 플래그를 실제로 전달하지 않고 일부 Xcode 환경 플래그의 값을 재정의하면 해당 컴파일러 플래그가 차례로 설정됩니다. 대신 사용자 정의 컴파일러 플래그를 설정하려면 OTHER_CFLAGS 환경 변수를 재정의해야합니다. –

2

예, 실제로 설정 컴파일러의 모든 문자열 키 - 값 쌍으로 요약된다. 나는 당신이 설정하려는 이러한 설정에 마찬가지로 적용 명령 줄에서 전 처리기 매크로를 설정하는 방법에 대한 매우 비슷한 질문 대답

Setting a #define from the command line in xcode 4.6

가 나는 또한 $의 사용에 대해주의를 환기하고자을 { 상속} -이 값을 사용하면 Xcode 프로젝트 지정 값을 사용하고 자신 만의 값을 추가 할 수 있습니다. 당신은 복사 - 붙여 넣기를 통해 위치를 포함하여 빌드 각 설정에 대한 문서는 여기에서 찾을 수 있습니다 :

http://developer.apple.com/library/mac/documentation/DeveloperTools/Reference/XcodeBuildSettingRef/1-Build_Setting_Reference/build_setting_ref.html

당신이 그것을 작동시킬 수 있었다 다행 - 당신이 정말로 xcodebuild을 만들 수 있습니다 지금은 훨씬 더 많은 일을 할 대상 Xcode 프로젝트를 변경하지 않고도 여러분을 위해!

+0

흥미로운, 추가 정보 주셔서 감사합니다 :) – aspyct

2

컴파일러 플래그를 xcodebuild으로 설정하려면 OTHERCFLAGS 옵션에 넣어야합니다. 예를 들어

:

xcodebuild -project path/to/my.xcodeproj -scheme MyApp \ 
    OTHERCFLAGS="-fprofile-arcs -ftest-coverage" 
관련 문제