#09 XCode 좌측메뉴(Groups & Files) 구성은??

2011. 1. 13. 12:20OS/iOS

오늘도 어김없이 XCode를 열어 봅니다. ^^
우선 새 프로젝트를 시작하게 되면, XCode는 도대체 어떤것을 제공하는지 분석을 해보도록 하겠습니다.



우선 좌측에 배치된 Groups & Files 부분에 대해서 자세한 상세 설명을 정리 해보겠습니다.


1) Classes
   어플리케이션에서 사용되는 Object-C 코드가 모여있는 곳이다. 
   델리게이트 객체, 뷰 컨트롤러, 사용자 정의 객체등이 포함되어 있고,  코드 정리를 위해 하위 폴더 추가 생성 가능하다.
   
   기본으로 생성된 Delegate 클래스는 버튼을 누르거나 슬라이더를 움직이는 식의 아이폰 윈도우에서 일어나는 액션에 
   응답하는 메소드 들이 작성된다.
   인터페이스 빌더와 대응하여 각각의 컨트롤들에 대응하는 메소드들이 작성된다.
   또한 아이폰 윈도우에 있는 컨트롤들의 값에 대응하는 변수도 포함되는데 이를 아웃렛(Outlet)이라고 한다.
   a) XXXAppDelegate.h
   b) XXXAppDelegate.m

2) Other Sources
   기본적으로 미리 컴파일된 헤더파일과 코코아 어플리케이션 객체를 초기화하는 어플리케이션 main함수가 포함된다.
  C 함수들과 C++ 클래스를 불러오면 여기에 추가된다.

   a) XXX_Perfix.pch : 이미 컴파일한 헤더(precompiled header, 프로젝트에서 사용하는 외부 프레임워크의 헤더 파일 목록) 
    --> XCode에서 일반적으로 꼭 사용하는 헤더 파일들을 미리 컴파일, Build시에 컴파일시간 단축
   b) main.m : main() 메서드 (수정할 경우가 거의 없다는.. MVC 구조 특성상. Application의 시작점 이죠)

3) Resources
   소스코드와 함께 컴파일되지 않지만, 빌드시에 프로그램 폴더에 복사되는 리소스 파일들.
   어플리케이션은 각각의 샌드박스에서 실행 되므로 필요한 모든 파일을 여기에 넣어야 한다.
   
   a) XXX-info.plist : 어플리케이션 기본 정보를 담은 프로퍼티 리스트
      즉 iphone 응용 프로그램이 실행될 때 info.plist 에 있는 각종 초기 설정에 따라 실행 준비가 이뤄짐.
   b) MainWindow.xib : 어플리케이션의 기본 인터페이스 빌더 파일 
   c) XXXController.xib : 이 인터페이스 빌더에 대한 내용을 저장하고 있다
4) Framework
   코드는 물론 이미지나 사운드 같은 자원이 담긴 특별한 종류의 라이브러리.
   어플리케이션에 링크되고, 코드에서 그 프레임워크나 라이브러리의 객체 , 함수 , 자원을 사용할수 있다.
   기본적으로 사용되는 프레임워크들은 자동 링크 되므로 추가 작업이 필요없으나, 쓸것만 추가 하면 됨.

5) Products
   프로젝트가 생성한 애플리케이션을 담는다. XXX.app 이라는 결과물입니다.
   (처음에 빨간색인 이유는.. 빌드를 한번도 안했기 때문에 파일을 찾을수 없는 상태랍니다.)

** Group & Files 창에 있는 폴더들은 Mac의 파일 시스템과 꼭 일치하지 않는다.
XCode 안에서의 논리적인 묶음이고, 실제 하드 디스크내에는 다르게 존재, 다시 말하면 시스템의 계층과는 완전히 독립적이라는 것을 알수 있다.

아... 이것저것 알아보다 보니.. XCode 4 를 받아야 겠네요;;
오늘은 여기까지.. ^^