2013-08-11 3 views

답변

4

Xcode에서 이것을 수행하는 권장 방법은 체계를 사용하는 것입니다. 그것들은 이미 설정되어 있으며 Edit Schemes 아래에 나타납니다. Xcode에서 정상적으로 실행될 때, 당신은 일반적으로 Debug Scheme을 실행하고 있고, "Archive"(기본적으로 릴리즈 빌드)를위한 Scheme도 있습니다. Xcode는 원하는만큼 많은 설정을 지원하며, 한 번 설정하는 데 몇 분 밖에 걸리지 않습니다.

그림에 표시된 예에서 "디버그"구성표를 실행하거나 "Xcode"에서 디버그 모드를 실행할 때 프리 프로세서 플래그 "DEBUG"를 1로 설정했습니다. 다른 체계에서는 설정되지 않습니다. 따라서 디버그 빌드에만 포함되며 아카이브 빌드에는 포함되지 않은 코드를 가질 수 있습니다.

#ifdef DEBUG 
    <Some code that is included and executed when running the Debug Scheme> 
#else 
    <Some other code that executes at other times in other Schemes> 
#endif 
+0

감사합니다,하지만 아직도 정말 보관 대 직접 실행을 구분하지 않습니다이다

enter image description here

꽤 많이 걸리는 모든, 당신은 단순히 코드에서 같은 것을 할. 당신이 제안하는 것은 2 가지 계획을 가지고 있으며, 하나는 보관 용으로 사용하고 다른 하나는 xCode에서 직접 디버깅/실행 용으로 사용하는 것입니다. 코드에있는 플래그와 같은 더 쉬운 방법이 없습니까? – user387184

+1

예, 두 가지 체계를 제안합니다. 이는 Xcode 외부에서 Xcode와 Archive 빌드를 실행하는 디버그를 실행하는 경우에 권장되는 방법입니다. 나는 당신에게 보여줄 나의 대답을 약간 수정할 것이다. 그것은 아주 간단합니다. –

+0

@ user387184 * 코드에서 플래그와 같은 더 쉬운 방법이 없을까요? 코드가 실행되는 방식을 알 수 없기 때문에 ** 플래그를 ** 설정할 수 없습니다. 당신은 ** 당신의 코드에서 ** 플래그를 체크 할 수 있고, 프로젝트가 어떻게 구축되었는지에 따라 플래그를 다르게 설정할 수 있습니다. 클리프 (Cliff)가 제안한 것처럼 빌드 계획을 사용하면됩니다. 이것은 올바른 대답입니다. – Caleb

관련 문제