2012-02-19 4 views
0

실행 단추가있는 xcode에서 직접 실행할 때 완벽하게 작동하는 응용 프로그램을 작성했습니다. 디버그 버전의 바이너리를 빌드합니다. 아카이브 (릴리즈 빌드) 용으로 빌드하면 응용 프로그램이 작동하지 않습니다. 내가 아는 빌드 간의 유일한 차이점은 내 DLog() 매크로의 결과입니다.빌드 빌드 문제 출시

#ifdef DEBUG 
# define DLog(...) NSLog(__VA_ARGS__) 
#else 
# define DLog(...) do {} while (0) 
#endif 
#ifdef DEBUGVERBOSE 
# define VLog(...) NSLog(__VA_ARGS__) 
#else 
# define VLog(...) do {} while (0) 
#endif 
#define ALog(...) NSLog(__VA_ARGS__) 

이 문제를 디버깅하는 방법을 놓치고 있습니다. 어디에서 포인터를 시작할 것인가?

+1

릴리스 빌드를 실행할 때 로그 파일에서 어떤 오류가 발생합니까? 또한, ifdefs를 사용하지 않고 정의를 넣으면 (두 빌드에서 같은 것을 얻을 수 있도록) 어떻게 될까요? – sch

답변

0

#ifdef 바로 앞에 #undef DEBUG#undef DEBUGVERBOSE을 추가하십시오.

또한 DEBUG=0DEBUGVERBOSE=0을 제거하고 프로젝트 (디버그)를 컴파일 한 다음 시뮬레이터에서 실행하십시오.

이렇게하면 코드의이 부분에서 문제가 발생하는지 알 수 있습니다.