-
디버그 모드 이외에 NSLog 무시하기프로그래밍/아이폰 2010. 8. 25. 14:28
NSLog는 디버깅정보를 찍어보는데 아주 편리하고 쉽습니다.
하지만 릴리즈 한뒤에도, 누군가 로그에 표시된정보를 볼수있고,
자원을 잡아먹게 되기때문에, 릴리즈 모드에서는 작동하지 않게 하는게 좋습니다.
디버그 모드가 아닐때에 NSLog를 무시하도록 합니다.
몇가지 방법이 존재하는데 퍼포먼스의 차이는 느끼지 못하겠습니다.
결과적으로 같다고 생각되서 그냥 가장 짧게 할수있는쪽으로 했습니다.
<AppName>_Prefix.pch 에 작성합니다.
(별도의 공용 헤더파일이 있으면 그곳에 해도 좋습니다. 어쨌건 모든 소스에서 공유하는 헤더파일이어야합니다.)
#infdef DEBUG
#define NSLog (...)
#endif
작성하신뒤에, 프로젝트 설정의 debug 탭에서, other C Flags에 -DDEBUG=1 을 추가해주시면 됩니다.
검색해보시면 아래와 같은 형식도 있는데, NSLog를 사용하지 말고 DLog를 사용해야
디버그 모드 이외에서 무시됩니다. 이미 다 만들어놓은 코드에 적용하기 까다로우니 조심하세요~
#ifdef DEBUG # define DLog(...) NSLog(__VA_ARGS__) #else # define DLog(...) /* */ #endif #define ALog(...) NSLog(__VA_ARGS__)
소스코드는 www.devcel.co.kr 에서 받으실수있습니다...
'프로그래밍 > 아이폰' 카테고리의 다른 글
Default.png 로고 지연, 애니매이션 효과 (0) 2010.08.25 hello world 만들기 ( 인터페이스 빌더 쓸때와 안쓸때 두가지) (0) 2010.08.25 NSString 메소드 몇가지 (2) 2010.08.25 웹뷰에서 파일 불러올때에 에러처리는 필수 (0) 2010.08.05 x-code objective-c는 C입니다. (0) 2010.08.03 댓글