Appleは、初心者がアプリ開発を始めるのをこれまで以上に簡単にしています。Xcode 8開発環境、Swiftプログラミング言語、Metalなどのツールのおかげで、iPhoneアプリやiPhoneとiPad向けのゲーム、さらにはApple Watch向けのゲームを開発する絶好の機会が到来しました。
独自のアプリやゲームをコーディングするのは途方もない挑戦のように思えるかもしれませんが、実際にはそれほど難しくはありません。アプリ開発者やインディーゲーム開発者になるための道のりを手助けしてくれるリソースは、世の中にたくさんあります。
iPhoneとiPadのアプリ開発には、多くの利点があります。ウェブサイトを構築する場合とは異なり、iPhoneとiPadのあらゆる機能にアクセスできるため、その技術を有効活用できます。さらに重要なのは、ゲームに課金できることです。優れたアプリを開発すれば、大成功を収められるかもしれません(少なくとも十分な収入を得られるかもしれません)。
アプリ開発を始める方法
以下の手順に従えば、アプリ開発を最初から始めることができます。既にアプリ開発の知識をお持ちの場合は、「ゲーム開発入門」に進んでいただくか、Swiftのオンライン学習方法やSwift完全ガイドに関する記事をご覧ください。
Apple Developer Connectionにサインアップする
まず最初に、Apple Developer Connection にアクセスし、「Member Center」と「Register」をクリックします。Apple Developer として登録すると、サポート資料にアクセスできるようになるほか、iOS デバイスを Apple に登録してテストアプリを実行できるようになります。
自分の Apple ID でサインインすることもできます (単独の開発者の場合に推奨)。また、開発者アカウント専用の Apple ID を作成することもできます (企業向けに開発している場合に推奨)。
開発者登録にAppleへの料金を支払う必要はありません。登録するだけで、iOSの現行製品版のすべての開発者ツールにアクセスできます。アプリの開発とテストには基本登録で十分ですが、アプリを販売するにはAppleのメンバーシップ(年額69ポンド)に登録する必要があります。
Apple Developer Membership では、iOS 10 や Xcode 8 などのソフトウェアのベータ版にもアクセスできます。
アプリやゲームを作成する前に計画を立てましょう
アプリ開発に着手する前に、アプリの計画を立てることが重要です。アプリの計画を立てる決まった方法はありませんが、開発者(および関係者)が文書化しておくべき事項をいくつかご紹介します。
- 目標。このアプリは最終的に何を目的として設計されているのでしょうか?できるだけシンプルかつ簡潔にまとめましょう。「カメラアプリは写真を撮影し、簡単な編集と共有が可能です。ミュージックアプリはiTunes Match(またはiTunesと同期)から音楽を再生できます。」アプリの機能について、一文で説明してください。
- スコープ。アプリに搭載するすべての機能について合意します。開発を進める中で、機能クリープ(新しいアイデアを詰め込みすぎること)に注意してください。開発を始める前に、どの機能を搭載し、どの機能を外すかを決めておきましょう。
- テーマと戦略。アプリのテーマと戦略はどのようなものになるでしょうか?楽しく親しみやすいアプリにするのか、それともシンプルで効率的なビジネスツールにするのか?マーケティング戦略を決定し、アプリのスタイルが戦略に合致しているかどうかを事前に確認しましょう。
- インターフェースをスケッチします。各ディスプレイをスケッチし、各ボタンのインタラクションをマッピングする必要があります。
- アセットを集めましょう。Apple は多くの標準ボタンとアイコンを提供しています(これらを使用することをお勧めします)。ただし、ロゴ、グラフィック、場合によってはオーディオアセットも必要になります。
必要なテクノロジーについて考えてみましょう。XcodeとApp Storeだけで済むでしょうか?それとも、アプリにはサーバーやその他のテクノロジーが必要になるでしょうか?まずはこれらをじっくり検討する必要があります。
アプリを計画するために必要なものに関する優れたドキュメントを以下に示します。
- Mozilla: アプリの計画
- モバイルアプリプロジェクトの計画方法
- コードコンプリート:ソフトウェア構築の実践ハンドブック
独自のアプリをコーディングする
アプリ開発に転向したいと考えているなら、自分でアプリをコーディングしたいと思うかもしれません。コーディングの難易度はコーディング経験によって異なりますが、Appleは2014年にiOS 8とSwiftプログラミング言語の登場でそのハードルを下げました。
iPhoneやiPad用のアプリは、Xcodeと呼ばれるMacプログラムを使って作成します。XcodeはApple独自のIDE(統合開発環境)です。
以下に、確認するのに役立つリソースをいくつか示します。
- 素早いツアー
- コードアカデミー
- Swift初心者向け
- Swiftプログラミング言語
アプリ開発者の採用
自分が開発者であるとは思わない場合は、開発者を雇う(またはチームを組む)こともできます。
アプリ開発のためにプロの開発者を雇うのは高額になる場合があります(通常、価格は2万ポンド程度から)。しかし、もしあなたが十分に興味深いプロジェクトを持っているなら、スキルを磨きたいと考えている開発者とチームを組む価値はあるかもしれません。
Meetupのようなサイトを使って、あなたの地域でプログラマーが集まっている場所を探し、会いに行くのも良いでしょう。LinkedInのようなサービスを使って開発者を探すこともできますが、これはプロジェクトに資金的な支援がある場合に特に便利です。
iTunes Connect を使ってアプリを App Store に提出する
アプリが完成したら、iTunes Connect 経由で Apple に提出できます。iTunes Connect への登録は、Apple Developer Membership とは別に行います。
Apple には、アプリの提出に関する包括的なガイドがあります。
2015年にはアプリの承認に約1週間かかっていましたが、これは劇的に短縮されました。Appleは現在、プロセスを24時間以内に完了させると主張しています。同社がどのようにしてこの合理化を実現したのか、あるいは提出されたアプリの審査を減らすのかはまだ明らかではありません。
とはいえ、Appleが何らかの理由でアプリを却下するケースが多いことは注目に値します。典型的なケースとしては、ドキュメント化されていないSDK機能を使用している、あるいはヌードやポルノに関する懸念などが挙げられます。ただし、注意すべき技術的な問題もいくつかあります。iMoreブログには、却下されたアプリとその却下理由をまとめた分かりやすいリストが掲載されています。

この記事の残りの部分では iOS ゲーム開発について具体的に説明しますが、ここで推奨するコースやリソースの多くは、アプリ開発全般についてある程度の知識があることを前提としています。
コースとトレーニング
朗報です。iOS向けビデオゲーム開発を学びたいと考えているのは、あなただけではありません。ありがたいことに、ビデオゲーム開発の基礎を学ぶのに役立つ、幅広いコースが用意されています。
チェックすべきコースをいくつか紹介します。
SpriteKitとSwift 3を使った完全なiOSゲームコース
Udemyで提供されているiOSゲーム開発コースの中でも、最も売れており、最も評価の高いコースの一つがこのコースです。302件以上の評価があり、平均は5つ星弱です。執筆時点では、約2,000人の受講生が登録しています。
このコースには、18 時間のビデオ、2 つの記事、6 つの補足リソース、修了証書が付属しており、30 日間の返金保証が付いています。
すごいビデオゲームの作り方 – iOS、SpriteKit、SceneKit
もう一つの人気コースはこちらで、こちらも高評価を得ており、1,000人以上の受講生が登録しています。8時間以上のビデオ、4つの記事、5つの補足資料が用意されており、前のコースと同様に修了証と返金保証が付いています。
SpriteKitとSwiftを使ったiOSゲーム開発入門
最後にお勧めするコースは、このコースです。このコースは比較的新しいため登録している受講生の数は少ないですが、評価は高く、84 個の補足リソースと 1 つの記事を含む 10 時間以上のビデオが特徴です。
Udemy の開発コースの全ラインナップは、こちらでご覧いただけます。
iOSゲーム開発リソース
iOS ゲーム開発の学習を始めるときは、必ずこれらのリソースを確認してください。
SpriteBuilder。ゲーム用のスプライト(キャラクター)を作成するのに最適な方法です。無料かつオープンソースです。
Apple Developer。Appleの開発者向けウェブサイトを最大限に活用しましょう。利用可能なサポートをすべてじっくりとご確認ください。
特に、Game Center for Developersをご覧ください。開発者センターには、Game Centerに焦点を当てながらも、ゲーム開発のあらゆる側面を網羅した幅広いビデオが用意されています。
GitHub。まだGitHubに参加していない場合は、今すぐアカウントを作成してください。他の開発者とチームを組み、共同で取り組むプロジェクトを見つけましょう。
ゲーム開発のStack Exchange。開発者であれば、Stack Exchangeへの登録は当然のことですが、ゲーム開発に特化したエリアで時間を過ごすことも忘れないでください。ここでは質問や問題を投稿することができ、コミュニティがすぐに集まって回答を提供します。一人で問題を解決しようとせず、他の開発者と協力するようにしてください。
インスピレーションを得るには、以下をご覧ください。
最高のiPhone&iPadゲーム 最高の無料iPhoneゲーム 最高の無料iPadゲーム 最高のApple Watchゲーム 最高のMacゲーム