
このシリーズの第1部では、実用的なiPhoneアプリ開発プラットフォームを構築するための「基本」部分を解説しました。デスクトップがケーブルだらけになった今、いよいよ袖をまくってコードを組み立て始める時が来ました。
しかし、まずは重要なことです。次世代の素晴らしいアメリカンアプリの開発を始める前に、必ず達成しなければならないことが2つあります。1つは無料ですが、もう1つはある程度の資金を投入する必要があります。
- 登録iPhone開発者になりましょう。これは無料です。はい、今すぐ登録してください。無料のiPhone SDK(ソフトウェア開発キット。現在の最新バージョンは2.2.1)をダウンロードできるようになります。このシリーズの第1回で述べたように、このiPhone SDKを使用するには、IntelベースのMacとMac OS X 10.5.5が必要です。さらに、個人開発者(例:Dave Prochnow)か法人開発者(例:Microsoft Corporation)のどちらかを選択する必要があります。法人開発者を選択する場合は、法人設立を証明する書類(例:連邦納税者番号(TIN)、パートナーシップ、LLC、またはSコーポレーションの書類)の提出を求められます。
- iPhoneデベロッパープログラムにご登録ください。スタンダードプログラム(99ドル+消費税)、またはエンタープライズプログラム(299ドル)のどちらかをお選びいただけます。スタンダードプログラム(99ドル)なら、ほとんどの方にとって十分な金額です。お好きな方をお選びいただくと、Apple Storeへ移動し、クレジットカード決済で1年間のiPhoneデベロッパープログラムへのご登録が完了します。
登録とサブスクリプションが完了したら、iPhone Dev Centerにログインし、SDK、ビデオ、サンプルアプリ、ドキュメントなど、目に見えるものすべてをダウンロードしましょう。もちろん、これらのうちいくつかは既にご存知かもしれませんが、iPhoneに関する知識が深まれば深まるほど、アプリ開発はよりスムーズになります。
「もっと簡単になるはず」と言ったことに注目してください。Objective-Cプログラミング言語とAppleのCocoa開発環境をしっかりと理解していないと、非常に厳しい学習曲線を経験する可能性があるからです。
幸いなことに、この学習曲線を最小限に抑えるのに役立つコツやヒントがいくつかあります。
1. 車輪の再発明はやめましょう。見た目か機能かを問わず、あなたのアプリによく似たAppleのサンプルアプリを見つけてください。そして、Appleのコードを取り除いて、この動作するサンプルシェルにあなたのコードを組み込みましょう。
2. 他者の失敗から学ぶ。iTunes App Storeで競合他社の代表的なアプリをいくつか見つけてみましょう。彼らがうまくいった点は取り入れ、失敗した点は徹底的に避けましょう。
3. 巧妙なプログラミングテクニックをスーパーハイウェイで探し出そう。行き詰まったら(きっと何度も行き詰まるでしょう!)、似たような問題を巧みに解決しているコードスニペットやコード片をWebで検索してみましょう。
4. イノベーションはあらゆるアプリの母です。大衆に追随するのではなく(市場には身体機能に特化した粗雑なアプリがどれだけ必要でしょうか?)、新しいトレンドを生み出しましょう。
説明書
まったく新しいプログラミングシステムを学ぶのは、まるで消火ホースから水を一口飲むようなものです。ですから、時間をかけてObjective-CとCocoa Touchプログラミングの基礎をしっかりと身に付けたら、いよいよ独学に挑戦してみましょう。
非常に一般的に言えば、アプリ開発サイクルは次のようになります。
1. アプリのコンセプトをまとめましょう。大きく、大まかな線で、アプリ設計書を作成します。アプリの詳細を少しずつ具体化していきます。グラフィック、マルチメディア、フォント、色、レイアウト、構成、プログラムフロー、そしてアプリの目標を検討します。このドキュメントが詳細であればあるほど、アプリはより良く機能します。
2. SDKをインストールします。1.5GBを超えるこの巨大なダウンロードファイルには、Apple Xcode Cocoa開発環境の完全版が含まれています。Xcodeをサポートするユーティリティ、ドキュメント、そしてMac OSのサンプルコードも含まれています。iPhone開発の醍醐味を体験するには、サンプルコードや追加のリファレンスライブラリをダウンロードするために、インターネット接続が必要です。ただし、Xcodeの動作にはインターネット接続は必須ではありません。
3. Xcodeを開いてプロジェクトを作成します。Xcodeにはいくつかのプロジェクトテンプレートが用意されているので、このステップを間違えずに済みます。

4. インターフェースを構築しましょう。ドラッグ&ドロップでインターフェースをデザインするより簡単なことなんてあるでしょうか?Xcodeには、Interface Builderと呼ばれるビジュアル開発ユーティリティが統合されています。Interface Builderを使えば、コードを1行も書かずに、アプリのルック&フィールを完全に開発できます。

5. コードを書こう。Interface Builderがアプリの骨組みであり肉だとすれば、コードは血液であり神経系です。コードがなければ、アプリはただの生気のない塊になってしまいます。簡潔でクリーンなコードを書きましょう。
6. ビルドすれば実行できます。アプリの最初のテストは、Xcode 対応の iPhone シミュレータで実行する必要があります。プロジェクトで[ビルドして実行]を選択すると、Xcode によってコードがコンパイルされ、iPhone シミュレータが自動的に起動します。この Xcode ユーティリティは、アプリの基本的なフローをすばやく評価するのに最適ですが、iPhone と iPod touch の両方で実際にテストを行う代わりにはなりません。実際、アプリの開発中に、このタイミングでプロジェクトの「テスト チーム」を作成するとよいでしょう。プロジェクトにテスターを追加するには、iPhone プログラム ポータルからプロビジョニング プロファイルを取得する必要があります。このポータルへのアクセスは、iPhone デベロッパ プログラムのサブスクリプションによって許可されます。この機能を賢く使用してください。プロジェクト テスターにアプリのテスト シナリオの作成と調整を依頼します。ステップ 1で完全なアプリ設計ドキュメントを作成しておけば、このプロセスは簡素化されます。
7. 実際にテストしてみましょう。実際のiPhoneおよびiPod touchでアプリをテストするには、アプリにコード署名する必要があります。これらの証明書は、手順6で使用したのと同じiPhone Program Portalから取得します。アプリをコード署名して実際のデバイスにロードさせるのは難しい場合があります。テストデバイスでアプリが確実に動作するようにするための4つのヒントをご紹介します。
- Apple は、このタイプの「直接的な」コーディングは不要であると保証していますが、ほとんどの場合必要であることがわかりました。info.plist のバンドル ID に頼るのではなく、iPhone プログラム ポータルからの実際のアプリ ID を info.plist のバンドル ID フィールドに挿入します。
- ターゲットの[情報を見る]ボタンから、ビルドリストの[任意の iPhone OS デバイス]キーでアプリにコード署名します。
- コード署名 IDキー ( 「Any iPhone OS Device」キーのすぐ上にあります) を使用して、同じターゲット情報の場所でアプリにコード署名します。
- [ビルド]メニューから、[ビルドして実行]ではなく[ビルド] を選択します。
正常にコンパイルされたアプリ バンドル (このバンドルのアイコンに、白い国際的な「いいえ」記号 (斜線が入った円) が表示される場合があります) ができたら、そのアプリ バンドルと適切なプロビジョニング プロファイルをテスターに送信します。
8. 微調整。すべてのテストが完了したら、Xcodeの専用ユーティリティを使って最終的なアプリの測定と調整を行います。この最終ステップにより、アプリがあらゆるiPhoneおよびiPod touchで問題なく動作するようになります。
次回、第3回にして最終回となるこのエピソードでは、この子豚を市場に送り出します!Apple iTunes App Storeで私たちの進捗状況をチェックしてください。
