2012-03-08 4 views
0

필자는 Xcode 4.3이 내 시스템에서 Xcode의 유일한 버전 이었는지 확인하기 위해 많은 노력을 기울였습니다.구성별로 Xcode 4.3 빌드 디렉토리가 다릅니 까?

새 프로젝트 (힘내 및 단위 테스트 사용)를 만들었습니다. 이 프로젝트에 Debug에서 복사 한 'Coverage'라는 새로운 구성을 추가했습니다. 프로젝트에서 ('주요 타겟'이 아니라 '프로젝트') 커버리지 구성에 대해 '빌드 테스트'를 활성화했습니다. 주요 타겟에서, 커버리지 구성에 대해 '테스트 커버리지'와 '인스트루먼트 프로그램 플로우'를 모두 활성화했습니다.

나는 'Coverage'라고도 불리는 유일한 다른 스킴에서 복사 된 새로운 스킴도 추가했습니다. 이 구성표의 유일한 차이점은 빌드 작업에서 테스트 프로젝트의 '실행'상자를 확인하는 것입니다.

Xcode의 환경 설정에서 DerivedData 위치를 변경하지 않았습니다.

오케이, 이것이 설정입니다. 내가 xcodebuild -configuration Coverage -sdk iphonesimulator -scheme Coverage build를 실행하면 예상하고 예상대로 코드 커버리지 데이터 (엑스 코드에 대한 TEST_HOST 뭔가 스크립트를 조정 후)을 만들어으로

는, 출력은 DerivedData 폴더로 이동합니다.

xcodebuild -configuration Debug -sdk iphonesimulator build을 실행하면 출력이 프로젝트 루트의 build 디렉토리로 이동합니다. xcodebuild -configuration Release -sdk iphoneos build과 동일합니다.

'올바른'(DerivedData) 폴더에 아티팩트를 생성하려면 어떻게 이러한 표준 구성을 사용할 수 있습니까?

보너스 질문 : 그 TEST_HOST 것을 수정하는 더 좋은 방법이 있습니까?

답변

1

따라서 폴더의 빌드를 표준화하려면 xcodebuild-workspace 인수가 필요합니다.

보너스 응답 (약 TEST_HOST) : '논리'테스트와 나는 새로운 아이폰 OS 개발자로, 몰랐던 '응용 프로그램'시험 사이의 이분법이 있습니다

. 테스트 할 클래스가 일부 UI 클래스의 하위 클래스 인 경우 '응용 프로그램'테스트이며 실제 장치에서 실행해야합니다. 그렇지 않은 경우 (NS 클래스에서 파생 됨) 해당 테스트는 시뮬레이터에서 실행될 수 있습니다. 시뮬레이션 된 테스트에는 빈 TEST_HOST이 필요합니다.

아, 그리고 당신은 당신이 수동으로 Build Phases에서 테스트 대상의 Build Sources 단계로 바로 테스트 할 각 클래스를 추가 할 수 있습니다, 혹시, 당신의 마음을 살짝 않을거야 때문이다.

심각하게 누군가가 더 좋은 방법을 알고 있다면 의견을 말하십시오. 또는 답변으로 내 답변을 수락해야합니다. 제시된 정보가 오류가있는 경우에도 의견을 말하십시오.

72 시간 있습니다. [침착하게 긴 머리 흰 고양이]

관련 문제