예전에 아이폰 Objective-C 프로젝트 후기 남기면서 xcode 환경 특성 타는 문제 때문에 고생했다고 했는데요. 그 일부 경험을 적어봅니다. 그러니깐 딱부러지게 로직 버그면 어떻게 찾아내겠는데 아무리 별짓 해도 안되는 경우가 있습니다. 그런데 알고보니 정말 어이없게 해결이 되는 경우가 있죠.

전에 예를들면 XML 파일에 어느태그 안에는 '스페이스'가 들어가면 안되는데 그걸 몰라서 별짓 다했다가 어떻게 겨우 스페이스 문제임을 알고 눈물 쏟을 뻔한적이 있었습니다. 초보 아이폰 개발자 하면서 저는 이런 경험들을 했습니다.


- Debug와 Release 빌드시 저장 라이브러리가 틀리다.

초보 아이폰 개발자라도 빌드시 디버그와 릴리즈 저장폴더가 틀리다는걸 아실텐대요. 전 처음에는 몰랐습니다. ㅠ.ㅠ 그때 프로젝트 구조가 [우리제품라이브러리]->[다른제품라이브러리] 에 탑재되는 형태라서 우리제품을 라이브러리로 만들어야 했는데요. 디버그로 계속 빌드 하다가 어느날 릴리즈로 했더니 아무리 별짓 다해봐도 내가 고친 라이브러리가 적용이 안되는겁니다. 나중에 알고 허탈했습니다. 다시 디버그로 빌드~

- 가끔 프로젝트에서 옛날 라이브러리를 계속 물고 있는 경우가 있다.
"여기는 [다른제품라이브러리]안에 있는 폴더라고 생각하자.
여기 각 폴더 안에 [우리제품라이브러리]가 같이 있다."


위의 팁은 좀 어이없는 팁이고, 이건 나름 고급 팁이 아닐까 ^ ^; 하는 생각입니다. 위의 사진에 각각 빌드 결과와 관련 라이브러리들이 저장됩니다. 혹시 [우리제품라이브러리]를 최신으로 빌드하고,  [우리제품라이브러리]->[다른제품라이브러리]로 복사했는데도 최신 라이브러리로 적용이 안되는 경우가 있을지도 모릅니다. 그렇다면 [다른제품라이브러리]의 위 사진 폴더 가서 그 안에 [우리제품라이브러리]를 몽땅 삭제해야 합니다.

이게 무슨 말이냐면 [우리제품라이브러리]가 [다른제품라이브러리] 프로젝트에 복사되고, [다른제품라이브러리]를 빌드 하면 위 사진의 각각 폴더에 [우리제품라이브러리]가 '관련파일'에 속해서 복사됩니다.

근데 아주 가끔 계속 위 사진의 폴더에 옛날 [우리제품라이브러리]에만 의존하고 '최신 빌드해서 복사한 [우리제품라이브러리]'는 인식을 못합니다. 그때는 저 사진속 폴더안에 [우리제품라이브러리]를 찾아서 몽땅 삭제하면 됩니다.


이것 때문에 또 몇시간 삽질 ;

- 빌드 클린은 기본
빌드 클린해도 안되면 '리소스'에 있는 이미지등의 일반 파일을 '타겟'으로 복사해야만 인식되는 경우도 있습니다.

- IB 빌더에서 가끔 아울렛 연결하는게 안먹는 경우도 있습니다. 이때는 아울렛 삭제하고 다시하면 됩니다.

그외 제가 많이 겪었던 문제는 [우리제품라이브러리] 가 C++소스랑 섞여있으면서 좀 복잡하게 얽히고 섥혀 컴파일이 안되는 경우가 많았는데요. 이건 풀어서 설명하긴 어렵네요. 아무튼 처음에 아이폰 프로그래밍 실력 때문이 아니라 이런 환경 특성을 몰라서 몇시간 삽질하고 해결안되서 복창 터질뻔 했는 경험이 있었습니다. 또 기억나면 적어보겠습니다.

그런데 알고보니 이제는 xcode의 빠르고 좋은 성능과 오브젝티브C의 깔끔함에 점점 익숙해져가고 있습니다. 아이폰, 맥북을 보며 애플이 만든것은 뭐든 대단하지 않을까...심지어 프로그래밍 환경도 다른 플랫폼보다 더 좋지 않을까 기대했는데 저는 만족합니다~!

저작자 표시
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by 산골
산골 블로그 소개 저는 하얀머리 개발자와 작가를 꿈꾸는 블로거 산골 입니다. 프로그램 개발자로서 저의 관심사는 개발자의 숨통을 트여준 아이폰 개발, 철학과 같은 깊이가 있는 객체지향 방법론입니다. 글쓰기와 수영을 좋아합니다. 블로그를 통해 관심사를 공유합니다. 제 블로그에 관심 있으시면 아래 RSS나 즐겨찾기로 편하게 구독하세요.

rss Bookmark and Share

댓글을 달아 주세요

  1. BlogIcon KYJ 2011.01.19 09:55 신고  댓글주소  수정/삭제  댓글쓰기

    잘 읽었습니다....
    저도 x-code 컴파일 하다 이유 모를 에러 떄문에 노가다 많이 했었는데..ㅎㅎ
    환경 특성을 타는 메서드들이 있떠라구요
    이번에 4.3 베타 버전으로 돌리면서 예전에 의문에 묻어놨던 에러들을 깨닫는 중입니다.ㅋ
    맥이랑 좀더 친해지고 있어서 좋네요..
    시대를 따라가는게 아니라 앞서갈려다 보니 애플 제품에 눈이 안갈수가 없네요
    암튼 포스팅 잘 읽었어요! ^^

  2. BlogIcon 이영수 2011.05.30 12:03 신고  댓글주소  수정/삭제  댓글쓰기

    뭐야?뭐가어케된거야?