
iOSアプリケーションを動かすCocoa Touchフレームワークは、Mac上で実証済みの多数のパターンを共有していますが、特にタッチベースのインターフェイスとその最適化に重点を置いて開発されました。UIKitは、iOSでイベント駆動型のグラフィカルアプリケーションを実装する際に必要な基本的ツールを提供しています。UIKitは、ファイル処理、ネットワーク、文字列操作、その他の機能を含むMac OS Xと同じFoundationフレームワークの上に構築されています。
iPhoneのユニークなインターフェイスは、Cocoa Touchにはそれにマッチするユニークなデザインがあることを意味しています。UIKitを使えば、iOS上の特別なGUIコントロール、ボタン、フルスクリーン表示機能にアクセスできます。また、加速度センサーやマルチタッチジェスチャを使ってアプリケーションをコントロールできるようになります。
Objective-Cでビルド
Cocoa Touchの大部分は、Objective-Cでインプリメントされています。Objective-Cはオブジェクト指向言語で、高速で動作するようにコンパイルされ、独自の柔軟性をもたらす非常にダイナミックなランタイムを採用します。Objective-CはCのスーパーセットなので、Cocoa TouchアプリケーションにCとC++をミックスするのは簡単です。
あなたのアプリケーションが動作すると、Objective-Cのランタイムが、コンパイル時に定義された方法だけでなく、実行時ロジックに基づいてオブジェクトのインスタンス作成を行います。例えば、実行中のObjective-Cアプリケーションは、UIボタンが押されたら、インターフェイス(Interface Builderによって作成されたnibファイル)をロードし、インターフェイスのCocoaオブジェクトをアプリケーションコードに接続して、適切なメソッドを実行することができます。再コンパイルは必要ありません。
完全なフレームワークの詰め合わせ
UIKitに加え、Cocoa Touchのフレームワークコレクションには、3Dグラフィックスからプロフェッショナルオーディオ、ネットワーク機能、カメラ制御用のデバイスにアクセスするための特殊なAPI、GPSからの位置情報取得など、世界に通用するiPhoneアプリケーションを作成するのに必要なすべてが含まれています。Cocoa Touchには強力なObjective-Cフレームワークが含まれており、ほんの数行のコードだけですべての作業を実行できます。さらに、必要に応じてシステムに直接のアクセスできる、基礎的なC言語のAPIも利用できます。以下はフレームワークの代表例です:

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ソケット
ユーザアプリケーション
- アドレスブック
- Core Location
- Map Kit
- Store Kit