● Carbon視点でiPhone探求(2008/12/29)

  このニュースは、MOSAの会員にのみ配布されているデベロッパー向けの
  デジタルマガジンMOSADeNのに掲載された記事です。ほぼ一ヶ月遅れで
  ここに掲載されて行きます

 〜 サンプルは一番身近な先生 〜


技術ドキュメントを一通り読破したら、次にすべき事は、サンプルソースコードを参照してiPhoneアプリケーションで実現可能なことを正しく認識することだと思います。今回は「iPhone Dev Center」からダウンロードできるサンプルソースコードの内容を詳しく紹介したいと思います。

現在「iPhone Dev Center」サイトには43のサンプルソースコードが登録されています。それを独断と偏見でカテゴリー別に分類してみました。幾つかのサンプルソースコードは、その機能のため複数のカテゴリーに含まれていますので御注意ください。 サンプルソースコードには実機(iPhoneかiPod touch)でしか起動できないものがあります。またアクセロメータ(加速度センサー)関連の機能は実機でしか動作確認できません。それから、一部のサンプルはWWDC 2008やTechTalk(東京)で提供されたものです。参加された方は、参加者のみ入ることができる閲覧サイトの方を確認してみてください。

・3D描画(OpenGL ES)関連

「GLGravity」シミュレータでは3Dオブジェクトの回転描画を行うデモ
「GLPaint」OpenGLテクスチャを利用したペイントアプリのデモ
「GLSprite」OpenGLテクスチャを利用した簡単なスプライトアニメーションデモ

・ 2D描画( Quartz2D)関連

「QuartzDemo」Quartz2D APIを使う事で可能な2D描画機能のデモ(必見)
「Reflection」Quartz2D APIでオリジナル画像の下方へ鏡面イメージを描画

・ テキスト入力関連

「HelloWorld」キーボードからの簡単なテキスト入力とその表示を行うデモ
「EditableDetailView」UITableViewでコンテンツ用のテキスト入力を行うデモ

・アクセロメータ(加速度センサー)関連

「AccelerometerGraph」加速度センサーから得たX,Y,Z要素をグラフ表示するデモ
「BubbleLevel」加速度センサーを利用した水平器シミュレートのデモアプリ
「GLGravity」実機ではデバイスの傾きに反応した3Dオブジェクト描画(必見)

・オリエンテーション(デバイスの方向)関連

「WhichWayIsUp」デバイスの回転方向を認識して表示を調整する簡単なサンプル
「RestaurantViewer」デバイス回転でビューのレイアウトを変更(WWDCで提供)

・ロケーション(位置情報)関連

「LocateMe」現在の位置(GPS)情報を入手するためのCore Location APIのデモ

・アニメーション関連

「MoveMe」 Core Animation APIを利用した画像の移動と拡大縮小のデモ
「ViewTransitions」 Core Animation APIを利用したUIViewのトランジションデモ
「TheElements」UIViewとボタンのフリップ(反転)を試すことができる周期表アプリ
「Metronome」メトロノーム(針の回転アニメとサウンド)をシミュレートしたデモ
「SimpleAnimation」非常に簡単なUIViewアニメーションサンプル(WWDCで提供)

・オーディオ関連

「aurioTouch」オーディオ入力と再生をモニタ(オシロスコープ)するデモアプリ
「oalTouch」Open AL(3D音響効果) APIの機能を試すデモアプリ(実機専用)
「SpeakHere」Audio ToolBox APIを利用した音声の録音と再生のデモ
「SysSound」バイブレーションと短いサウンド(5秒以内)の再生を行うデモ
「Metronome」こちらも短いサウンドの再生方法を確認できるデモアプリ

・ビデオ関連

「MoviePlayer」Medea Player Frameworkを利用した映像(Movie)の再生デモ

・ゲーム関連

「CrashLanding」加速度センサーを用いたロケット着陸ゲーム(何故か登録削除?)
「TouchFighter2」本格派シューティングゲームサンプル(WWDCやTechTalkで提供)

・コントロール関連

「PageControl」UIScrollViewとUIPageControlの使用方法を解説したデモ
「UICatalog」iPhoneのGUIに用いられるコントロールやビューの機能一覧(必見)

・ビューコントローラ関連

「DrillDownSave」UINavigationControllerの階層レベルをファイル保存するデモ
「NavBar」UINavigationControllerとUIViewControllerの利用方法の総合的なデモ
「SimpleDrillDown」UINavigationController使ったUITableViewの階層表示デモ

・テーブルビュー関連

「TableViewSuite」5段階レベルのサンプルでUITableViewの使い方を解説(必見)
「Accessory」UITableViewのセル右側に表示されるアクセサリ表示のカスタム
「EditableDetailView」UITableViewでコンテンツのテキスト入力を行うデモ
「HeaderFooter」UITableViewのカスタムヘッダーとカスタムフッターのデモ
「TableSearch」UITableViewのコンテンツサーチ(UISearchBar使用)のデモ
「TouchCells」UITableViewのカスタムセル(タッチ可能)を実装しているデモ

・ビュー関連

「UICatalog」iPhoneのGUIに用いるコントロールやビューの機能一覧(必見)
「HeadsUpUI」UIView上にオーバレイ描画を使ったGUIを構築するデモ
「PageControl」UIScrollViewとUIPageControlの使用方法を解説したデモ
「Scrolling」画像表示を利用してUIScrollViewの2種類の機能を示したデモ

・マルチタッチ関連

「Touches」マルチタッチで3つのオブジェクトを同時にドラッグ操作するデモ
「MultiTouchDemo」2本指での画像ピンチ操作(拡大縮小)デモ(WWDCで提供)

・ データベース(SQLite)関連

「SQLiteBooks」SQLite APIの利用方法を解説したデータベースアプリのデモ

・ネットワークとインターネット関連

「SeismicXML」NSXMLParserを使うことでXMLドキュメントをパースするデモ
「BonjourWeb」ボンジュールによって特定ネットワークサービスを探し出すデモ
「Reachability」通信は携帯回線かWiHi経由かなどを判断する方法を示したデモ
「URLCache」ウェブサーバーからの画像ダウンロードとキャッシュ活用のデモ
「WiTap」ボンジュールとネットサービス&ネットブラウザーを活用するデモ

・ユーザーデフォルト(環境設定)関連

「AppPrefs」名前やテキストカラーなどをアプリケーション環境設定へと保存

「MoviePlayer」背景色やスケールなどをアプリケーション環境設定へと保存

・アプリケーション起動関連

「LaunchMe」opneURLに定義されたURLを渡して別アプリケーション起動するデモ

・セキュリティ関連

「CryptoExercise」 Cryptographic(暗号) APIを利用するデモ (実機専用)
「GenericKeychain」Keychain(認証) APIを利用するデモ(実機専用)

サンプルソースコードの確認が終了しましたので、次回からは、さっそくXcodeを利用したiPhoneアプリケーションの開発に取り組みたいと思います。まずは、Xcodeで用意されているテンプレート(雛形)プロジェクトの種類を調べてみることにします。

copyright 2008 Ottimo, Inc. All rights reserved
無断転載・引用禁止