iPhone 개발을 하다보니, device에 올려서 NSLog를 출력하면 속도가 급격히 떨어지는 현상을 종종 겪고는 합니다.
실제로 올려서 테스트 하는 경우도 있지만 보통은 simulator에서 열심히 디버깅을 하고 device에 올려서 최종 테스트를 하고.. 이런 과정을 거쳐서 개발을 하는데요, 이럴때 device에 올렸을때만 로그가 안찍히게 할 수 있는 방법을 소개해드립니다.

iPhone simulator에서 동작을 할 때에는 "TARGET_IPHONE_SIMULATOR" 값이 자동으로 define됩니다.
이 define된 것을 이용하여 조건부 컴파일을 하여 simulators 일때만 로그를 남길 수 있게 할 수 있습니다. 예를 들면 다음과 같이 말이죠.

#define USE_CONDITIONAL_LOG

#ifdef USE_CONDITIONAL_LOG
	#if TARGET_IPHONE_SIMULATOR
		#define ConditionalNSLog			NSLog
	#else
		#define ConditionalNSLog			(void)
#else
	#define ConditionalNSLog				NSLog
#endif

위와 같이 선언한 뒤 실제 코드에는 다음과 같이 이용합니다.

ConditionalNSLog(@"hello~");
크리에이티브 커먼즈 라이센스
Creative Commons License

Posted by 장현준

2009/05/21 09:26 2009/05/21 09:26
,
Response
No Trackback , No Comment
RSS :
http://b4you.net/blog/rss/response/224


블로그 이미지

빗소리를 먹는 사람.

- 장현준

Notices

Archives

Authors

  1. 장현준

Recent Trackbacks

  1. 듀얼클러치의 생각 rsvin28's me2DAY 2009

Calendar

«   2012/02   »
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29      

Site Stats

Total hits:
158007
Today:
77
Yesterday:
228