iOS/Mac
-
NSString, trimiOS/Mac 2011. 5. 26. 13:54
우째 이런 기본적인 것이 없을까나.. NSString에 카테고리로 trim 관련 메소드를 추가해봤습니다. NSString_Trim.h @interface NSString(Trim) - (NSString *)ltrim; - (NSString *)rtrim; - (NSString *)trim; @end NSString_Trim.m @implementation NSString(Trim) - (NSString *)ltrim { NSCharacterSet *cs = [NSCharacterSet whitespaceAndNewlineCharacterSet]; NSUInteger len = [self length]; int i; for (i=0; i < len; i++) { unichar c = [self charac..
-
NSURL 메소드 샘플iOS/Mac 2011. 5. 20. 19:55
url 에 대해 http://www.foobar.com/test/depth1/depth2/xxx.php?parm1=xxx¶m2=yyy NSURL 조회 메소드 결과 absoluteString:http://www.foobar.com/test/depth1/depth2/xxx.php?parm1=xxx¶m2=yyy absoluteURL:http://www.foobar.com/test/depth1/depth2/xxx.php?parm1=xxx¶m2=yyy baseURL:(null) fragment:(null) host:www.foobar.com lastPathComponent:xxx.php parameterString:(null) password:(null) path:/test/depth1/de..
-
패킷캡쳐하는 법iOS/Mac 2011. 4. 22. 17:53
맥개발 중에 실제 송수신되는 네트워크 패킷을 보고싶을 때,패킷 캡쳐 프로그램을 이용하거나 명령어로 할 수도 있다.맥용앱은 CocoaPacketAnalyzer나 WireShark같은 것을 사용한다. UNIX기반 시스템에서 tcpdump명령어만 있으면 다 사용할 수 있다. 터미널을 열고, sudo tcpdump -nn -vv -A -s 0 -i en0 -w lan.pcap 하면 현재 디렉토리에 lan.pcap이란 이름으로 패킷이 기록된다. 감시하는 장치는 en0 첫번째 네트워크 어댑터. localhost로 가는걸 보고 싶을 때는 lo0 tcpdump 문법으로 특정 ip 특정 프로토콜, 특정 포트 등을 다양하게 조합하여 필터링할 수 있다. 패킷 캡쳐후 패킷을 볼 때는 WireShark같은 프로그램을 이용한다...
-
BAD_ACCESS 지점찾기iOS/Mac 2011. 2. 24. 16:45
개발 중에 콘솔창에 BAD_ACCESS 뿌리고 어플이 죽었는데 정확히 어느부분에서 났는지 알기 힘든 경우, 간단한 옵션 추가로 좀 더 자세한 지점을 알 수 있다. Groups and Files 창에서 Excutables > [app]선택 > 팝업메뉴 > Get Info > Arguments탭 아래쪽 환경변수쪽에 name: NSZombieEnabled value: YES 로 추가 그러면 좀 더 자세한 위치가 dump된다. 출처: http://iphonedevelopertips.com/debugging/tracking-down-exc_bad_access-errors-with-nszombieenabled.html
-
XCode 메모리 오류 지점 쉽게 찾기iOS/Mac 2011. 2. 24. 16:32
디버깅을 하다보면 할당과 해제가 제대로 되지 않아 메모리가 새거나 오류가 발생한다. 해제된 메모리를 다시 해제하는 것과 같은 메모리 오류는 콘솔로그나 브레이크포인트로 찾기 어려운 경우가 많다. malloc_error_break 브레이크 심볼을 이용하면 간단히 찾을 수 있다. (단 release 버젼에서는 빼고 빌드하세요.) 이런 경우, 금방 탐지가 된다. [obj release]; [obj release]; // error 1. 디버거 창을 띄운다(Shift+Command+Y) 2. Show Breakpoints 를 클릭하여 Breakpoints창을 띄운다. 3. Breakpoint Symbol로 'malloc_error_break'를 입력한다. 4. Build and Debug 한다.