'아이폰개발'에 해당되는 글 3건

  1. 2009.08.17 [Objective-C] C++ 를 같이 사용하기.
  2. 2009.08.05 [XCode] Project Name 바꾸기. (3)
  3. 2009.05.18 벌써 1년. (2)
삽질기/iPhone Dev2009.08.17 16:26
Mac Apps 혹은 iPhone Apps 을 개발하다 보면 여러 이유에서 C, 혹은 C++ 로 개발된 라이브러리를 사용하게 됩니다.

제 경우에는 Core Audio 를 사용할 때, 이런 경우를 많이 접했는데요, 문제는 다음과 같았습니다.

 .h / .m 파일안에 C / C++ 헤더파일을 #import 하면 링크 에러가 발생합니다.

 무엇이 문제일까 고민을 하던 중, 결국 구글링으로 해결했습니다.

해결방법은

단순히 .m 파일을 .mm 으로 바꾸면 되는 것이었습니다.

일반적으로 .m 은 Obj-C 구현부가 들어가고, - implementation file - .mm 은 C, C++ 구현부를 의미 - implementation more file - 합니다.

XCode 는 파일 확장자를 보고 컴파일러를 선택한다고 합니다.

즉, .m 의 경우에는 obj-C 컴파일러를 사용하지만, .mm 의 경우에는 C++ 컴파일러 (물론 Obj-C 도 잘 소화합니다.)를 사용하게 되는 셈이지요.

의외로 복잡할 줄 알았던 문제가 간단히 해결되었습니다. :)

-코나-

덧. 출처..는 검색한 지 며칠이 좀 지나서 가물가물합니다.. 죄송.. 구글링중에 찾은 문서였는데.. ^^;
Posted by 코나
삽질기/iPhone Dev2009.08.05 03:47
아이폰 앱을 개발하다보면, 여러 이유로 하나의 프로젝트를 복사해서 프로젝트명을 바꿔야 할 때가 있다.

구글링을 해보면 다양한 방법들이 존재하고, 대부분 xcodeproj 컴포넌트(원래는 디렉토리) 안의  project.pbxproj 파일을 텍스트 에디터를 이용해 수정한다.

 project.pbxproj 파일안에는 프로젝트에 등록된 모든 파일이 고유 id 와 함께 기록되어 있는 것을 볼 수 있으며, 자칫 잘못해서 수정에 실패해서 xcode 가 파싱을 제대로 하지 못한다면, 프로젝트를 다시 열 수 없게 된다.

 약 5시간의 삽질 + 구글링 끝에, 가장 깔끔하다고 판단되는 솔루션을 찾았고, 적절히 동작하는 것을 확인했다.
 물론, 직접 proejct 파일을 수정하지도 않는다.

원문 링크는 다음과 같다.


기록을 위해서, (아이폰 프로젝트 기준으로) 간단히 요약하면..

0. xcode 종료된 상태에서
1. 폴더를 복사하고, 새 이름을 정한다. 
2. 폴더를 열고, .xcodeproject 파일 이름을 수정한다.
3. 수정한 파일을 연다. (프로젝트가 열림)
4. 왼쪽 Groups & Files 리스트에서 Targets 그룹 안의 target 을 더블클릭한다.
5. info 창의 General 탭에서 원하는 프로젝트명을 적는다.
6. Build 탭에서 Packaging 그룹 안의 Product Name 을 변경된 프로젝트명으로 바꿔준다.
7. 6 단계의 Debug / Release 및 기타 단계(ad-hoc, Distribution...) 도 모두 바꿔준다.
6. Build / Clean all targets 을 실행한다.

첨언하면,
 Projects 그룹 안의 name.app 파일이 중복될 경우, 두개를 별도의 프로그램으로 인식하지 않고, 선행된 쪽의 결과물을 연결해서 가져오는 동작을 보여주고 있었다.
 최초에는 Target 에서 Product Name 만 바꿨는데, 곰곰히 생각해보니, 배포때는 Products 의 .app 을 보내지 않던가.

 또하나 중요한 부분은 7번 단계.
 Debug 만 수정할 경우, Products 안의 파일명이 바뀌지 않아서, 위에서 언급한 build 결과물들을 공유하는 사태가 발생한다.
 사실 이부분 때문에 고생을 좀 했는데, 결론은 모두 수정이 정답.

 간만에 삽질이었다 ㅠ.ㅜ

-코나-

덧. 적고보니, 결국 build 탭에서 7번을 제대로 수행했으면 되었다는.......쿨럭.. ^^;;


Posted by 코나
ebadaq.com2009.05.18 08:18

시간 참 빠르죠?

작년 이맘때 회사를 그만두고, 프리랜서로 시작을 했던 기억이 납니다.

애플에서 메일이 왔습니다. iPhone Developer Program 이 이제 60일 남았다구요. ^^

프리시작 1년, iDP 10개월이 되었습니다. (iDP는 어제 연장했지요. :) )

처음 시작했을 때의 그 열정과 설레임으로 다시 한번 다짐해봅니다.

오늘도 화이팅.

-코나-

Posted by 코나