#08 Hello World 를 찍어봅시다.

2011. 1. 12. 04:32OS/iOS

오래간만에 개발 공부를 간단히 해볼까요? ^^ 자 그렇다면 , XCode를 실행하시고


첫번째) 새로운 프로젝트를 시작합니다. (뭐 아래와 같이 편하신대로~~)




앞으로 대부분은 template 선택시에 어떠한 형태의 Application이 되루 있는 가장 원시적인 형태의 window-based Application를 하게 되겠지만,다른 것은 도대체 뭔지 알아두는 것이 좋을것 같다.

1) Navigation-based Application : Navigation Cotroller를 사용하는 Application , 계층 구조로 더 깊은 단계로 들어갔다가 나올 수 있는 형태의 어플을 만들 수 있다. 주소록 같은거??
This template provides a starting point for an application that uses a navigation controller. It provides a user interface configured with a navigation controller to display a list of items.

2) OpenGL ES Application : Game등의 OpenGL 그래픽 기반의 Application
 This template provides a starting point for an application that uses an OpenGL ES-based view. It provides a view into which you render your OpenGL ES scene, and a timer to allow you to animate the view.

3) Split View-based Application : 하나의 뷰를 분할해서 프로그래밍 할 수 있지만 IPad에만 적용됩니다.
This template provides a starting point for an application that uses a split view controller. It provides a user interface configured with a split view controller and two view controllers to manage a master-detail-style display.

4) Tab Bar Application : Tab Bar를 사용하는 Application,iPod program이라고 하던데?? 아직은 잘 모르겠다는...
This template provides a starting point for an application that uses a tab bar. It provides a user interface configured with a tab bar controller, and a view controller for the first tab bar item.
 
5) Utility Application : 날씨나 증권 같이 위젯 형태의 어플을 만들 수 있는 곳, 단순히 보여주기만 할뿐 사용자 입력을 받을 필요가 거의 없는 곳에서 사용하면 적합하다
This template provides a starting point for a utility application that has a main view and a flipside view. It sets up an Info button to flip the main view to the flipside, and a navigation bar with a Done item to flip back to the main view.

6)View-based Application : View에 그림을 그리고 Window에 View를 표시하는 Application
This template provides a starting point for an application that uses a single view. It provides a view controller to manage the view, and a nib file that contains the view.

7)Window-based Application : 가장 기본적인 형태로 뷰도 없다. 따라서 스스로 뷰를 추가 하여야 한다.
This template provides a starting point for any application. It provides just an application delegate and a window.


※ 해당 옵션 항목에는 Iphone 혹은 ipad , Universal(iphone / ipad 공용) 선택 부분이 있고
Use Core Data for storage 라는 checkbox가 있는데 데이터를 제어하는 프로그램을 개발시에 사용된다고 한다.
체크를 하게 되면 코어 데이터 Framework를 이용하게 되고, 아이폰에서 바이너리와 SQL Lite(오픈소스 SQL DataBase Engine) Type의 파일에 데이터를 저장하고 읽는 것이 가능하다고 한다. 
말이 좀 꼬이긴 했어도, 무슨 말인지 이해가 간다.


우선 Window-based Application을 선택하시면 ...


그래서 Project 이름 넣고~ Save 하면.. 아래와 같이 생성이 됩니다.


아이폰 OS에서 모든 어플은 어플 번들이라는 형태로 존재 한다고 합니다.
그 번들은 아래와 같이 구성되어 있습니다.
WindowsBased.app 실행파일
Icon.png 아이콘 파일(57*57로 스프링 보드에서 사용)
ISettings.bundle 시스템 설정 메뉴에 나타나게 되는 설정 번들(내부에 파일을 가지고 있다고 합니다.)
Icon-Settings.png 설정 번들에 표시될 29*29 크기의 아이콘
MainWindow.nib 어플이 기본적으로 사용하는 nib 파일
Default.png 실행 후 로드가 끝나기 전까지 기본적으로 보이는 그림
Info.plist 정보 프로퍼티 리스트 실행에 필요한 중요 정보들을 가지고 있음....

현재는 지식이 미천하여, 나중에 더 찾아서 보충하겠습니다.


두번째) 본격적인 HelloWorld 만들기


class 폴더안에 Class 생성 하겠습니다.
새파일에서 Cocoa Touch Class -> Objective-C Class -> SubClass of UIView  이렇게 선택해서 생성을 하시면


 자동 생성된 Delegate.h 파일에 아래와 같이 추가를 합니다.



또한 새롭게 만든 MainView.m 파일에 아래와 같이 추가 하면


아래와 같이 나오네요.. ^^;;


label 등에 입력하는 것이 아니라, 결국 UIView Class 스스로 그려 버렸군요.

위 방법 말고도, IB(Interface Builder) 를 사용하는 방법도 있네요.
IB를 통해서 UI를 디자인 하고, 위의 UIView Class 를 연결 시키는 방법이죠
하는 방법은 MainView.xib 를 아주 그냥 따블 클릭하면 되네요 ~

앙.. 오늘은 여기까지입니다.

검색으로 정보를 찾아서, 검증하는데 시간이 꽤 오래 걸리네요;;
내일부터는 그냥 편하게 강좌를 봐야 겠습니다.