iPhone OS 응용 프로그램을 구동하는 Cocoa Touch 프레임워크는 Mac과 다수의 검증된 패턴을 공유하고 있으며, 특히 터치 기반 인터페이스와 최적화에 촛점을 맞추었습니다. UIKit은 iPhone OS에서 그래픽, 이벤트 위주의 응용 프로그램을 실행시키는데 필요한 기본적인 툴을 제공합니다. UIKit은 Mac OS X의 파운데이션 프레임워크 인프라스트럭쳐와 동일한 기반 위에 구축되었으며 파일 핸들링, 네트워킹, 스트링 빌딩 등을 포함하고 있습니다.
iPhone 고유의 인터페이스는 준수해야 할 Cocoa Touch의 독창적인 디자인이 있다는 것을 의미합니다. UIKit을 이용하여 iPhone OS 상의 특별한 GUI 컨트롤, 버튼, 풀스크린 뷰에 접근할 수 있습니다. 또한 여러분의 응용 프로그램을 제어하기 위해서는 가속기와 멀티 터치 동작을 이용하여야 합니다.
Objective-C 기반
Cocoa Touch의 대부분은 믿을 수 없을 만큼 빠른 속도로 컴파일 및 구동되면서도 고유의 유연성을 제공하는 완전한 동적 런타임을 차용하는 객체 지향 언어인 Objective-C로 실행됩니다. Objective-C는 C의 수퍼셋이므로, 여러분의 Cocoa Touch 응용 프로그램에 C는 물론 C++까지도 혼합하여 사용하기가 쉽습니다.
여러분의 응용 프로그램이 구동될 때, Objective-C 런타임은 로직 실행을 기반으로 한 오브젝트를 인스턴스화 합니다. 이는 컴파일 중에 정의된 방법이 아닙니다. 예를 들어, Objective-C 응용 프로그램 구동은 인터페이스 (Interface Builder로 생성한 nib 파일) 로딩, 인터페이스의 Cocoa 오브젝트를 여러분의 응용 프로그램 코드와 연결, UI 버튼을 눌렀을 때 그에 맞는 method를 시행시킵니다. 재컴파일할 필요가 없습니다.
완벽한 프레임워크 조합
UIKit 이외에도, Cocoa Touch 프레임워크 콜렉션은 3D 그래픽부터 전문적인 오디오, 네트워킹, 카메라 제어 또는 GPS 하드웨어로부터 위치를 인식하기 위한 특수 장치 접근 API에 이르기까지 세계적인 수준의 iPhone 응용 프로그램을 제작하는데 필요한 모든 것을 포함하고 있습니다. Cocoa Touch는 단 몇 줄의 코드만으로도 완전한 작업을 수행하며, 필요한 경우에는 시스템에 직접 접근할 수 있는 파운데이션 C 언어의 API를 제공하는 강력한 Objective-C 프레임워크를 포함하고 있습니다. 이와 같은 프레임워크의 예로는 다음을 들 수 있습니다.
Core Animation
Core Animation을 이용하여 독립적인 그래픽 레이어 조합을 기반으로 한 간단한 프로그래밍 모델로 다양한 기능의 사용자 환경을 제공할 수 있습니다.
Core Audio
Core Audio는 오디오 재생, 프로세싱, 녹음을 위한 전문적인 수준의 오디오 기술로 여러분의 응용 프로그램에 강력한 오디오 기능을 쉽게 추가할 수 있게 해 줍니다.
Core Data
Core Data는 객체 지향 데이터 관리 솔루션으로 쉽게 사용하고 이해할 수 있으며 규모에 상관없이 모든 응용 프로그램의 데이터 모델 요구 조건을 관리할 수 있게 해줍니다.
기능 목록: 카테고리 별 프레임워크
다음은 Cocoa Touch에 포함된 가능한 프레임워크의 간단한 예입니다.
모디오 및 비디오
- Core Audio
- OpenAL
- Media Library
- AV Foundation
데이터 관리
- Core Data
- SQLite
그래픽 및 애니메이션
- Core Animation
- OpenGL ES
- Quartz 2D
네트워킹 및 인터넷
- Bonjour
- WebKit
- BSD Sockets
사용자 응용 프로그램
- Address Book
- Core Location
- Map Kit
- Store Kit




