- 배포버전에 따른 로깅 분기.
프로젝트 파일 중 appname-Prefix.pch 파일 내에 아래 코드를 삽입한다.
아래 코드는 DEBUG 가 define 되어있다면 로그는 출력하고 되어 있다.
#ifdef DEBUG
#define NSLog( s, ... ) NSLog( @"<%p %s:(%d)> %@", self, __FUNCTION__, __LINE__, [NSString stringWithFormat:(s), ##__VA_ARGS__] )
#else
#define NSLog( s, ... )
#endif
그리고 #define DEBUG 를 소스 코드 상에 넣어도 좋겠지만..그럼 한 번이라도 손이 더 가게 되니깐..불편하다..
그래서..
프로젝트 Build Settings 에 LLVM GCC4.2 - Preprocessing 에 macro를 Debug에 설정하면 Release, Distribution 로 배포 할때는 로그가 찍히지 않는다..
- #define을 이용한 로그 코딩 줄이기.
#define logView(view) NSLog(@"description = %@", [view description])
#define log() NSLog(@"")
#define logBool(is) [NSString stringWithUTF8String:(char *)(is ? "YES": "NO")]
뭐 define 이야 만들기 나름이니..^^;
RGB에 대한 define도 여러가지가 있지만..난 이게 젤 편해서리..
#define RGB(r, g, b) [UIColor colorWithRed:r/255.0 green:g/255.0 blue:b/255.0 alpha:1]
이놈을 쓴다..
다른 방법으로는
#define UIColorFromRGB(rgbValue) [UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 green:((float)((rgbValue & 0xFF00) >> 8))/255.0 blue:((float)(rgbValue & 0xFF))/255.0 alpha:1.0]
요 놈도 있다.. 사용법은 다 똑같다.
UIColor* color = RGB(111, 111, 111);
UIColor* color = UIColorFromRGB(0xff00ff);
- UIView에서 계층 구조를 로그 출력하기.
+(void)logSubviews:(UIView*)view
{
UIView* subview = nil;
NSLog(@"view = %@", view);
NSEnumerator* enumerator = [[view subviews] objectEnumerator];
while( (subview = [enumerator nextObject]) )
{
NSLog(@"view - %@, %@", [subview description], (subview.hidden ? @"YES": @"NO"));
}
}'Program > iOS' 카테고리의 다른 글
iOS - 인증되지 않은 다른 맥에서 개발하기 (4) | 2011.08.22 |
---|---|
iOS - OTA ( Over the Air AdHoc ) 1 (6) | 2011.08.19 |
iOS - SQLite 한글-영어 순 정렬하기 (2) | 2011.08.17 |
iOS APXML & JSON parser (2) | 2011.07.13 |
Xcode Archive Version Unspecified (4) | 2011.07.13 |