2012-11-24 1 views
4

새로운 #define 매크로를 내 앱에 추가하고 싶지만 베타 체계와 같은 특정 스키마에만 추가하고 싶습니다. 이 작업을 수행하는 가장 좋은 방법은 무엇입니까? 테스트 (예 : 시뮬레이터)에서 앱을 실행하면 DEBUG = 1 매크로가 추가되지만 더 많은 매크로를 추가하는 방법을 알 수 없다는 것을 알고 있습니다.특정 체계에 매크로 베타 = 1을 Xcode로 추가 하시겠습니까?

답변

5

가장 좋은 방법은 Xcode configuration files입니다.

Beta.xcconfigDistribution.xccconfig 등의 파일 몇 개를 추가하고 각 종류의 빌드에 대한 매크로를 추가하십시오.

Beta.xcconfig :

GCC_PREPROCESSOR_DEFINITIONS = $(inherited) BETA=1 

Distribution.xcconfig.

GCC_PREPROCESSOR_DEFINITIONS = $(inherited) BETA=0 

당신은 새 파일 대화와 쉽게 파일을 추가 할 수 있습니다 :

Create a xcconfig file

그런 다음, 당신은 빌드 스타일에 각 파일을 매핑해야합니다. 레벨 프로젝트 (오른쪽 목표 위) 프로젝트 설정을 맨 클릭합니다 얻었다 "정보"섹션 : 당신의 코드에서

Map xcconfigs to build styles

는 항상 같은 매크로를 사용할 수 있습니다

#if BETA 
// do something only in beta 
#endif 

대신하는 경우 값을 지정하면 매크로를 정의하기 만하면 #ifdef을 사용해야합니다.

여러 매크로를 사용하는 경우 모든 빌드 로그에보고 예상대로 작동하는지 확인해야 할 수 있습니다

build logs with macros highlighted

+0

감사합니다. 하지만 몇 가지가 있기 때문에 귀하의 대답은 ** ** 프로젝트 정보 탭으로 이동 명확하지 않았습니다. 고맙게도 나는 그것을 파악할 수 있었지만, (훌륭한) 해답을 업데이트해야만 모든 프로젝트에 적용될 것이라고 말할 수 있습니다. 하위 프로젝트는 아닙니다. – Jason

3

계획은 단지 그것을 조금 불편 이

매크로 만 빌드 구성을 설정할 수 있습니다

새로운 빌드 구성과 새로운 계획이 그것을

을 사용할 수 있도록 구성

를 구축 실행됩니다/

0

대안 (내가 사용하는 것이는)에 대한 빌드 설정에있을 것입니다 당신의 프로젝트 또는 목표.

1 ) 프로젝트로 이동 -> 대상 -> 설정
2 빌드) "전 처리기 매크로"이제

해당 프로젝트에 대해 정의 된 모든 계획을보고 당신이 원하는대로 전처리 매크로를 추가 할 수 있어야 검색 . $ (상 속됨)를 그대로 두는 것을 잊지 마십시오. 또한 나의 경우와 같이 COCOAPODS = 1 정의가있는 것처럼 다른 모든 정의 된 매크로를 유지하려고합니다.

관련 문제