First Steps

OSXDEV

Jump to: navigation, 찾기

QTKit Capture Programming Guide로 이동


코코아와 Xcode를 사용해 본 적이 있다면, 모든 코코아 어플리케이션이 프로젝트로 시작한다는 것을 알 것이다. 프로젝트는 단순히 말하자면 코드 파일, 프레임워크, 라이브러리, 어플리케이션의 사용자 인터페이스, 사운드 , 이미지와 같이 어플리케이션에 사용되는 모든 요소들에 대한 저장고라 할 수 있다. 당신의 프로젝트를 만들고 관리하기 위해 Xcode를 사용한다.


QTKit 캡처 플레이어 어플리케이션은 코코아와 퀵타임을 처음 접하는 개발자들에게 좋은 학습 예제가 될 수도 있다. 이미 코코아를 알고 있다면, 이 캡처 플레이어 어플리케이션을 얼마나 쉽고 큰 수고 없이 만들어내는지에 대해 크게 놀라지 않을 것이다.

[편집] 필요한 것

QTKit 캡처 플레이어 프로젝트를 시작하기 전에, Max OS X v10.5를 사용하고 있는지를 확인하고 다음 아이템들이 시스템에 설치되어 있는지를 확인한다.

  • Xcode 3와 인ㅌ페이스 빌더 3. 프로젝트를 빌드하기 위해 Xcode 2.2를 사용할 수도 있지만, 가능한 기능들을 최대한 이용하기 위해서는, Xcode 3를 써야 할 것이다. 또한, 인터페이스 빌더 3은 당신의 어플리케이션의 사용자 인터페이스를 만드는 데 새로운 패러다임을 제공할 것이다. 팔레트는 더 이상 제공되지 않고; 훨씬 더 쉽고 효율적으로 사용자 인터페이스의 구성요소들을 연결할 수 있도록 디자인된 컨트롤들의 라이브러리를 사용하게 될 것이다. 결국, 당신은 풍부하고 해로운 컨트롤들의 라이브러리를 이용해서 보다 빠르게 어플리케이션을 만들 수 있을 것이다.
  • QuickTime Kit 프레임워크. Mac OS X v10.5의 System/Library/Frameworks 디렉토리에 QTKit.framework라는 이름으로 있다.
  • iSignt 카메라가 컴퓨터에 연결되어 있어야 한다.
중요: 여기와 다음 챕터에서 논의하는 내용에 대한 샘플코드는 Sample Code: QuickTime Cocoa에서 MyRecorder라는 이름으로 다운로드 받을 수 있다.


노트: MyRecorder 샘플코드는, 이 챕터에서 설명된 바와 같이, QTMediaTypeMuxed 타입인 DV 카메라는 지원하지 않고, QTMeidaTypeVideo만 지원할 것이다. 이 프로그래밍 가이드의 다음 챕터인 "“Adding Audio Input and DV Camera Support,”에서 DV카메라를 이용하고 QTMediaTypeMuxed 타입을 사용하는 법을 설명할 것이다.


[편집] 캡처 플레이어의 프로토타입

Interface Builder는 어플리케이션의 윈도우, 메뉴 그리고 뷰를 지정할 수 있게 하며, Xcode는 그 뒤에 숨은 비헤비어를 정의한다. Interface Builder는 당신의 사용자 인터페이스안의 아이템들을 설정하는 데 필요한 기본적인 지원을 한다. 그 이후, 어플리케이션을 만드는 대부분의 작업은 Xcode에서 일어난다.

어플리케이션을 디자인 할때는 , Xcode에서 데이터 모델을 정의하는 것에서 부터 출발한다. 사용할 데이터 모델을 만들었으면, Interface Builder를 이용해 데이터를 표시할 수 있는 기본적인 윈도우, 메뉴 그리고 뷰를 만든다. 당신의 디자인의 복잡한 정도에 따라, 커스텀 뷰나 컨트롤이 필요할 수도 있으며, Interface Builder와 연동하여 nib파일에 추가할 수 있다.

컨트롤러 오브젝트를 만들고 유저 인터페이스의 데이터 모델에 묶는 것은 디자인 과정의 마지막 단계이다.

물론, 바로 뛰어들어서 인터페이스 빌더에서 윈도우와 메뉴를 조합하는 것으로 시작할 수도 있다. 그러나,최신버전인 인터페이스 빌더 3의 사용에 있어서, 당신의 어플리케이션이 원하는 비헤비어를 잘 이해하는 것이 중요하다. 어플리케이션의 데이터 모델을 알고, 그 데이터에 어떠한 동작이 일어날 지를 안다면, 정보를 최종 사용자에게 전달하기 위해 디자인 요소들을 묶어나가는 데에 도움을 줄 것이다.

QTKit 캡처 어플리케이션의 러프 스케치를 만드는 것으로 부터 시작해 보자. 어플리케이션에 어떤 디자인 요소들을 넣을 것인지를 고민해 보자. 인터페이스 빌더로 넘어가 프로토 타입을 거기에서 만드는 것보다는, 러프 스케치 안에 그 요소들을 시각화 해야 할 것이다. 그림 2-1 처럼.

 그림 2-1 QTKit 캡처 어플리케이션의 프로토 타입 스케치

그림 2-1 QTKit 캡처 어플리케이션의 프로토 타입 스케치

이 디자인 프로토 타입을 이용해, 세가지 간단한 오브젝트 - 캡처 뷰와 두개의 컨ㅌ롤 버튼-으로 출발할 수 있다. 그것들은 당신의 어플리케이션의 빌딩 블럭이 될 것이다. 스케치가 끝났으면, 그것들을 인터페이스 빌더에서 어떻게 연결시킬지와 Xcode 프로젝트에서 각각의 동작을 위해 필요한 코드를 고민하기 시작해야 한다.