전체 글
-
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 한다.
-
NSMutableData TipsiOS/Mac 2011. 2. 17. 21:01
NSMutableData는 byte배열을 wrapping해 놓은 객체. 특정 영역을 제거하는 방법 replaceBytesInRange 이용 ex) “1234567890 abcdef” 가 있는 배열에서 5번째부터 3개(678)를 제거. NSString *myString = @"1234567890 abcdef"; const char *utfString = [myString UTF8String]; NSMutableData *data = [NSMutableData dataWithBytes:utfString length:strlen(utfString)]; NSRange r = NSMakeRange(5, 3); NSString *strBefore = [[NSString alloc] initWithData:data ..
-
protocol type-castingiOS/Mac 2011. 2. 17. 20:54
ex1 if([self.myViewController conformsToProtocol:@protocol(MyProtocol)]) { id p = (id)self.myViewController; [p protocolMethod]; } ex2 if ([self.myViewController conformsToProtocol:@protocol(MyProtocol)]) { UIViewController *vc = (UIViewController *) self.myViewController; [vc protocolMethod]; }
-
참치와 상어 이야기daily 2011. 2. 17. 20:52
창업후 10여년 회사를 운영해오면서 겪었던 시행착오를 후배 창업자를 위해 엮은 책. 실제 경험에서 나오는 충고라 믿음이 간다. 참치와 상어 이야기/ 송원길/ 21세기북스 http://book.naver.com/bookdb/book_detail.nhn?bid=4389517 참치와 상어 이야기 1장. 준비사항 ‘이기는 게임을 펼치는 법’ 1. 봉급쟁이란 언젠가는 잘릴 운명이다 2. 어설픈 1,000명보단 확실한 1명이 낫다 3. 반드시 독립 전에 직장경험 해보라 4. 대기업보다는 중소기업을 택하라 5. 10년은 직장생활한 뒤 창업하라 6. 직장생활 때부터 내 고객을 만들어라 7. 얻고 싶다면 모든 것을 버려라 8. 창업하겠다면 적을 만들지 말라 9. 사업은 마흔 전에 시작하라 10. 회사에서 잘 나갈 때 독..
-
XCode Project에 라이브러리 프로젝트 추가iOS/Mac 2011. 2. 17. 20:51
라이브러리 프로젝트를 만들고, 필요한 타겟을 만들고.. 다른 프로젝트에 이 프로젝트를 추가해서 사용한다. 우선 두 프로젝트를 같은 디렉토리 레벨로 위치.(필요?) Group & Files 최상위에서 추가하기에서 기존 프로젝트를 추가한다. .a 파일을 Target - – Link Binary With Libraries 에 끌어다 복사한다.(Alt키로) 타겟의 정보보기 General탭에서 Linked Libraries에 끌어다 놓은 .a 파일이 보인다. 그리면 위에 Direct Dependencies 창의 [+]를 눌러 필요한 라이브러리 프로제트의 타겟을 추가한다. 헤더파일을 못찾으면, Target info에서 Search Paths의 Header Search Paths 항목에 라이브러리 경로를 추가 해준다.