어플 개발시 NSLog 를 통해 Debugger Console 상에 객체의 값이나 카운트 등을 출력하여 테스트 할 수 있습니다.
Log 를 찍어보는 방법은 특히나 Debug시에 자주 사용되는 방법입니다.
저도 이런 방법으로 Debug를 해 보다가.. 너무나 여러 곳에서 NSLog를 남발하였더니, 'Debug, Release 모드를 구분해서 Debug 모드일 경우에만 NSLog 를 출력하게 할 순 없을까?' 하는 생각이 들더군요.
해법
의외로 방법은 간단 했습니다.
바로, Project Info 에서 Configuration 을 Debug 모드로 하고, GCC4.2 - Processing 탭의 Preprocessor Macros 를 추가하는 것이죠. 저는 DEBUG=1 이라고 추가 했습니다.
단, 여기서 끝은 아닙니다. :)
NSLog 를 출력하시는 곳에서 Debug모드를 구분 할 수 있도록 다음과 같이 코딩 해 주시는 작업을 더하면 됩니다.
#ifdef DEBUG
NSLog(@"\nIMAGE_PATH : %@", [self IMG_PATH]);
#endif
이렇게 하면, Debug 모드인 경우에만 Debug Console에 "IMAGE_PATH : " 가 출력이 됩니다 :)
더하기
앗. 그리고 NSLog를 매번 #ifdef ~ #endif 로 감싸지 않고 Prefix에 NSLog를 재정의 해 두는 방법이 있군요.
멋진 방법인 것 같아서 링크 남겨요. 꼭 참고 해 보세요 :)
아이군의 블로그 :: [iPhone]NSLog 업그레이드 + Debug 모드에서만 로깅하기
#ifdef DEBUG
#define NSLog( s, ... ) NSLog( @"<%p %@:(%d)> %@", self, [[NSString stringWithUTF8String:__FILE__] lastPathComponent], __LINE__, [NSString stringWithFormat:(s), ##__VA_ARGS__] )
#else
#define NSLog( s, ... )
#endif
'iPhone' 카테고리의 다른 글
Xcode 에서 svn 사용하기 (0) | 2011.02.11 |
---|---|
Mac OS X 에서 hosts 파일 수정하기 (9) | 2011.01.14 |
UIWebView 와 Application (App) 간의 통신 (15) | 2010.11.15 |
APNS(Apple Push Notification service) 인증서 파일(p12) 만들기 (0) | 2010.10.07 |
Application Loader에서 애플 개발자 계정 설정 변경 (6) | 2010.09.30 |
UILabel에 중앙선(취소선) 표시하기. (UIStrikeLabel) (16) | 2010.09.16 |
하나의 UIViewController 에서 두개 이상의 UITableView 를 표현하기 (2) | 2010.09.08 |
APNS 를 위한 Device Token 알아내기 (7) | 2010.09.06 |
HTML Page 에서 아이폰 키보드 자판 선택 (0) | 2010.08.18 |
IB에서 각 UIControlState 에서의 UIButton 의 이미지 설정 (0) | 2010.08.13 |