iPhoneアプリの作り方

ページ名:iPhoneアプリの作り方

アプリ市場は絶え間なく変化し、移り変わり、サクセスストーリーは誰の目にも留まるほど大きい。iPhoneアプリの次のビッグアイデアがあると思いますか?案外簡単に作れるかもしれません。コーディングを学ぶ必要はありますが、インターフェースの多くはグラフィカルに作ることができます。アプリを作るには時間と学習と忍耐が必要ですが、もしかしたら次のFlappy Birdを作れるかもしれません!さっそく下記のステップ1をご覧ください。

パート1

開発環境のセットアップ

  1. .Xcodeは、すべてのiPhoneアプリが作成される開発環境です。XcodeはAppleから無料で入手できますが、OS X 10.8以降がインストールされている必要があります。WindowsやLinux PC上でXcodeを実行する公式な方法はありません。つまり、iPhoneアプリを開発したくてもMacを持っていない場合は、まずMacに投資する必要があるということだ。
    • iOS 8アプリを開発するには、Xcode 6.0.1とiOS 8 SDKが必要です。iOS 8 SDKには、iCloud統合やTouch IDなど、あらゆる種類の新しいアプリ体験を作成できる新しいAPIが多数含まれています。
    • iOS 10アプリを開発するには、Xcode 8とiOS 10 SDKが必要です。このバージョンのXcodeでは、Swift言語とSDKに大きな変更があり、注意が必要ですが、良いニュースは、このバージョン以降、Swift言語に「コードを壊す」変更がなくなることです。
  2. 良いテキストエディタをインストールする。Xcodeの中で完全にコーディングすることもできるが、プログラミング構文に特化した専用のテキストエディタがあれば、大きなコードの塊を扱うのがずっと簡単になることがわかるだろう。TextMateとJEditは、非常に人気のある2つの選択肢です。
  3. ベクターグラフィックスプログラムをインストールする。アプリ用にカスタムアートやデザインを作成する予定なら、ベクターグラフィックスを作成できるプログラムがいいでしょう。ベクターグラフィックは鮮明さを失うことなく拡大縮小でき、見栄えの良いアプリには欠かせません。人気のあるベクタープログラムには、市販のCorelDraw、Adobe Illustrator、Xara Designer、無料のInkscapeがあります。無料で使えるベクターグラフィックス描画プログラムとしては、DrawBerryがある。プロフェッショナルなプログラムほど強力ではありませんが、初めて使う人や、一度しか使わないものにお金を払いたくない人には良いでしょう。
  4. Objective-Cに慣れる。Objective-Cは、iPhoneアプリ内の機能を作成するために使用されるプログラミング言語です。データやオブジェクトの操作を扱います。Objective-CはC言語ファミリーの派生言語で、オブジェクト指向言語です。C言語やJavaの基本的な知識があれば、Objective-Cを理解するのは簡単です。
    • より新しい選択肢は、Objective-Cの後続言語であるSwift言語を使ってアプリを作成することだ。Swiftはより親しみやすい構文で、よりモダンな雰囲気だ。
    • Objective-Cを知らなくても基本的なアプリを作ることは可能だが、.NETがなければ高度な機能を実行することはできない。Objective-Cなしでは、画面間を行ったり来たりすることしかできない。
    • オンラインには様々なチュートリアルがあり、Objective-CやSwiftに関する様々な書籍にも豊富な情報が掲載されています。iPhoneアプリの開発に真剣に取り組みたいのであれば、いくつかのリソースを手元に置いておくとよいだろう。
    • より人気のあるオンラインのObjective-CとSwiftのコミュニティには、Apple Developer Forums、iPhoneSDK Google Group、StackOverflowなどがあります。
  5. 開発のアウトソーシングを検討する。もしあなたがObjective-CやSwiftを学ぶことに興味がなかったり、芸術的な才能がなかったりするのであれば、あなたのプロジェクトの様々な側面を請け負ってくれるフリーランサーや開発チームが数多く存在します。開発をアウトソーシングするのは複雑なプロセスですが、プログラミングが得意でない場合は、頭痛の種をたくさん減らすことができます。仕事を始める前に、関係者全員が秘密保持契約にサインし、給与体系が整っていることを確認しよう。
    • Upwork(以前はoDeskとElance)は、インターネット上で最も人気のあるフリーランスサービスで、あらゆるスキルレベルの開発者やアーティストが何百人も登録しています。
  6. 開発アカウントを作成する。App Storeでアプリを配布したり、他の人に渡してテストしてもらうためには、Apple Developerアカウントにサインアップする必要があります。このアカウントは年間99ドルで、税金と銀行口座の情報を入力する必要があります。
    • アカウントはiOS Dev Centerのウェブサイトから作成できます。
  7. いくつかのテストアプリをダウンロードする。デベロッパーアカウントにサインアップすると、Appleの開発リソースにアクセスできるようになります。これらのリソースにはさまざまなサンプルプロジェクトが含まれており、アプリ開発がどのように行われるかを知る上で非常に多くのヒントを得ることができます。作成したいアプリに関連するサンプルを見つけ、Xcodeでいじってみましょう。
パート 2

アプリの計画

  1. コンセプトを定義する。Xcode を初めて開く前に、アプリとその機能のための綿密な計画を持っている必要があります。これは、アプリのすべての機能の概要を示す設計書、ユーザーインターフェイスと画面間のフローのスケッチ、実装する必要があるシステムのタイプの基本的なアイデアを含むことができます。
    • アプリの開発中は、できるだけ設計書に忠実であるようにしましょう。そうすることで、欲しい機能に集中し続けることができます。
    • アプリの各画面について、少なくとも1つのサムネイルスケッチを描くようにしてください。
  2. オーディエンスを決める。アプリの利用者は、アプリの見た目や機能に大きく関係してきます。例えば、ToDoリストアプリとグロいシューティングゲームでは、利用者が大きく異なります。そのため、次のことが重要になります。
  3. アプリのニーズに応える。あなたのアプリがある種のユーティリティであれば、これまでに解決されていない問題に対する解決策、あるいはユニークな解決策や方法、あるいはこれまでの試みよりも優れた方法を提供する必要があります。アプリがゲームであれば、他とは違う、特定のゲーマーを惹きつけるようなユニークな機能が必要です。
  4. コンテンツを考える。ユーザーインターフェースは、アプリのユーザーに見せるコンテンツの種類によって決まります。例えば、写真を扱うアプリであれば、写真を見たりナビゲートしたりするのができるだけ簡単なユーザーインターフェイスが良いでしょう。
  5. 優れたUIデザインプロセスを実践しましょう。ユーザーインターフェースは、ユーザーの邪魔になってはいけません。つまり、オプションがはっきりと見えるようにし、ユーザーがどのボタンが何をするものなのか迷うことがないようにすることです。アイコンを使う場合は、その機能を正確に表すべきです。アプリ内のナビゲーションは流動的で自然でなければならない。
    • UIデザインは科学であると同時に芸術でもあります。プロジェクトが発展するにつれて、常にデザインを修正することになるでしょう。
パート3

アプリの作成

  1. Xcodeで新しいプロジェクトを作成する。Xcodeを開き、Fileメニューから新しいプロジェクトを開始します。ウィンドウの左側にある "iOS "の見出しの下にある "Application "を選択します。テンプレートセクションで、"Empty Application "を選択します。
    • 様々なテンプレートが用意されており、すべて異なるタスク用に設計されています。開発プロセスに慣れるまでは、空白のテンプレートから始めましょう。すべての動作に慣れてきたら、より複雑なテンプレートに挑戦することができます。
    • Product Name(商品名)、Company Identifier(会社名)、Class Prefix(クラス接頭辞)を入力する必要があります。Appleの会社識別子をまだお持ちでない場合は、com.exampleと入力してください。クラスプレフィックスにはXYZと入力します。
    • Devicesメニューから "iPhone "を選択します。
  2. ストーリーボードを作成します。Storyboardは、アプリのすべての画面を視覚的に表現したものです。各画面の内容や画面間の遷移が表示されます。Storyboardツールは、アプリの流れを開発するのに役立ちます。
    • File → New → Fileをクリックします。
    • iOSの見出しの下にある "User Interface "をクリックします。
    • Storyboardを選択し、Nextをクリックします。
    • Devices "メニューから "iPhone "を選択し、ファイル名を "Main "とします。プロジェクトと同じ場所に保存されていることを確認してください。
  3. Storyboardをプロジェクトに割り当てます。Storyboardを作成したら、それをアプリのメインインターフェイスとして割り当てる必要があります。これにより、アプリの起動時にストーリーボードがロードされます。ストーリーボードを割り当てないと、アプリを起動しても何も起こりません。
    • 左のナビゲーションツリーでプロジェクト名をクリックします。
    • メインフレームでTargets見出しを見つけます。Targetsリストからプロジェクトを選択します。
    • GeneralタブのDeployment Infoセクションを見つけます。
    • Main Interface」テキストフィールドに「Main.storyboard」と入力します。
  4. ビューコントローラを使って最初の画面を追加します。ビューコントローラは、ユーザがコンテンツをどのように表示するかを決定します。標準ビューやテーブルなど、様々なビューコントローラがプリセットされています。ビューコントローラをストーリーボードに追加し、ユーザーにコンテンツを表示する方法をアプリに指示します。
    • プロジェクトナビゲーションメニューから "Main.storyboard "ファイルを選択します。Interface Builderウィンドウに空白のキャンバスが表示されます。
    • Object Libraryを探します。これは右フレームの一番下にあり、小さな立方体のボタンをクリックして選択できます。キャンバスに追加できるオブジェクトのリストが表示されます。
    • View Controller」オブジェクトをクリックして、キャンバスにドラッグしてください。最初の画面がキャンバスに表示されます。
    • これで、最初の "シーン "が完成です。アプリが起動すると、ビュー・コントローラが最初の画面をロードします。
  5. 最初の画面にインターフェイスオブジェクトを追加しましょう。ビューコントローラを設定したら、ラベルやテキスト入力フィールド、ボタンなど、必要なインターフェイスオブジェクトを画面に追加していきます。インターフェイスオブジェクトはすべて、ビューコントローラオブジェクトを見つけたObjects Libraryリストにあります。
    • リストからオブジェクトをクリック&ドラッグして、スクリーンに追加してください。
    • ほとんどのオブジェクトは、オブジェクトの端にあるボックスをクリックしてドラッグすることで、サイズを変更することができます。サイズを変更すると、画面にガイドラインが表示されるので、すべてが正しく並ぶことを確認できます。
  6. 追加するオブジェクトをカスタマイズしましょう。各オブジェクトのプロパティを調整できるので、カスタムで直感的なインターフェイスを作成できます。例えば、テキスト入力フィールドにプレースホルダーテキストを追加して、ユーザーが何を入力すべきかをガイドすることができます。
    • カスタマイズしたいオブジェクトを選択し、右フレームの上部にある "Attributes Inspector "ボタンをクリックします。ボタンは盾のように見えます。
    • オブジェクトをお好みにカスタマイズしてください。フォントスタイル、フォントサイズ、テキストカラー、配置、背景画像、プレースホルダーテキスト、ボーダースタイルなどを変更できます。
    • 利用可能なオプションは、カスタマイズするオブジェクトによって変わります。
  7. 画面を増やす。プロジェクトが大きくなるにつれて、アプリに必要なすべてのコンテンツを表示するための画面を追加する必要が出てくるでしょう。例えば、ToDoリストアプリを作成する場合、ToDoリストの項目を入力するための画面と、リスト全体を表示するための画面の少なくとも2つが必要になります。
    • 画面を増やすには、キャンバスの空白部分にビュー・コントローラ・オブジェクトをドラッグ&ドロップします。ドロップする空白部分が見つからない場合は、空白部分が見つかるまで「ズームアウト」ボタンをクリックしてください。ビュー・コントローラーは必ずキャンバスにドロップしてください。
    • プロジェクトアウトラインからリードしたいビューコントローラを選択することで、初期画面を変更することができます。Attribute Inspectorボタンをクリックし、「Is Initial View Controller」にチェックを入れます。例えば、ToDoリストを作成する場合、アプリを起動したときにユーザーが最初に目にするのは実際のリストであるべきです。
  8. ナビゲーションバーを追加する。アプリに2つの画面ができたので、ユーザーが2つの画面を行き来できるようにしましょう。ナビゲーション・コントローラは、ビュー・コントローラに特化したものです。このコントローラは、アプリの上部にナビゲーションバーを追加し、ユーザーが画面間を行き来できるようにします。
    • ナビゲーション・コントローラは、初期ビューに追加して、それ以降のすべての画面を制御できるようにします。
    • プロジェクトアウトラインで初期ビューを選択します。
    • Editor → Embed In → Navigation Controllerをクリックします。
    • コントローラを追加した画面の上部に、グレーのナビゲーション・バーが表示されるはずです。
  9. ナビゲーションバーに機能を追加します。ナビゲーションバーの挿入が完了したら、ナビゲーションツールの追加を開始します。これにより、ユーザーは画面間を行ったり来たりできるようになります。
    • ナビゲーションバーにタイトルを追加します。割り当てたビューコントローラの下にあるナビゲーションアイテムをクリックします。属性インスペクタ]を開き、[タイトル]フィールドに現在の画面のタイトルを入力します。
    • ナビゲーションボタンを追加します。まだ開いていなければObjectsライブラリを開き、Bar Button Itemを見つけます。これをクリックしてナビゲーション・バーにドラッグします。通常、アプリ内で「進む」ボタンは右に、「戻る」ボタンは左に配置されます。
    • ボタンにプロパティを設定します。ボタンは特定のプロパティを設定することで、状況に合わせやすくすることができます。例えば、ToDoリストを作成する場合、新しいエントリーを作成するための「追加」ボタンが必要でしょう。ボタンを選択し、属性インスペクタを開きます。Identifier」メニューを見つけて、「Add」を選択します。ボタンが「+」ロゴに変わります。
  10. 新しいボタンを既存のスクリーンにリンクします。ボタンを機能させるには、それを別のスクリーンに接続する必要があります。ToDoリストの例では、ボタンは全体のリストにあり、入力画面にリンクする必要があります。ボタンをリンクするには、Ctrlを押したままボタンを2つ目の画面にドラッグします。
    • マウスボタンを離すと、アクション・セグエ・メニューが表示され、オプションのリストが表示されます。画面間の移動時にプッシュ遷移を使用するには、「プッシュ」を選択します。また、"Modal "を選択することもできます。"Modal "は、シーケンスとは対照的に、自己完結型のアクションとして画面を開きます。
    • プッシュを使用すると、2番目の画面にナビゲーション・バーが自動的に追加され、「戻る」ボタンが自動的に作成されます。モーダルを選択した場合は、手動で 2 つ目のナビゲーション バーを挿入し、"Cancel" および "Done" ボタンを追加する必要があります(ToDo リストの場合。)
    • 「キャンセル "と "完了 "ボタンは、"追加 "ボタンを作成したのと同じ方法で作成できます。属性インスペクタのIdentifierメニューから "Cancel "または "Done "を選択するだけです。
  11. データ処理機能を追加する。ここまでで、コーディングなしで基本的なナビゲート可能なインターフェイスを作成することができました。データの保存やユーザー入力の処理など、より深い機能を追加したい場合は、コードを書く必要があります。コーディングはこのガイドの範囲外ですが、オンラインには数多くのObjective-Cチュートリアルがあります。
    • ナビゲート可能なインターフェースのプロトタイプは、開発者を雇う際に役立ちます。動くインターフェイスがあれば、コーディング側で必要なことを説明するのがずっと簡単になります。
パート4

アプリをテストする

  1. iOSシミュレータを起動します。Xcode には、様々なシミュレートされた iOS デバイス上でアプリをテストすることができる iOS シミュレータが組み込まれています。シミュレータを開始するには、Xcode ウィンドウの上部にあるドロップダウンメニューから "Simulator and Debug" を選択し、テストしたいデバイスを選択します。
  2. アプリをビルドします。アプリをコンパイルして実行するには、従来の再生ボタンのように見えるビルドボタンをクリックします。アプリのビルドには数分かかることがあります。ツールバーで進行状況を見ることができます。ビルドプロセスが完了すると、iOS Simulatorが開き、アプリのテストを開始できます。
  3. 自分のiPhoneでアプリをテストする。アプリを配布してテストする前に、自分のデバイスでテストすることができます(お持ちの場合)。まず、デバイスをUSB経由でコンピュータに接続します。iTunesが開いている場合は閉じます。ドロップダウンメニューから "Device and Debug "を選択し、ビルドボタンをクリックします。数秒後、iPhone上でアプリが起動するはずです。アプリを閉じる前に、すべての機能をテストしてください。
  4. アプリをデバッグします。アプリがクラッシュした場合、何がなぜ起こったのかを突き止める必要があります。アプリがクラッシュした理由は無数にあります。デバッグコンソールを開き、エラーメッセージを読みましょう。ほとんどの場合、エラーメッセージは不可解なものです。エラーが理解できない場合は、エラーメッセージをググってみてください。Appleの開発フォーラムで、親切なベテラン開発者が彼らの訴えに答えている投稿が見つかる可能性があります。
    • デバッグは、あなたにとって非常に時間がかかり、退屈な時間になるかもしれません。あきらめずに根気よく続ければ、そのうち上手にできるようになります。エラーを認識し、素早く追跡し、時にはそれを予期することさえできるようになるだろう。よくある間違いのひとつは、オブジェクトをメモリから複数回リリースすることだ。もうひとつは、オブジェクトを追加したり代入したりする前に、メモリを確保したり初期化したりするのを忘れることだ。アプリを使うたびに、エラーは少なくなっていくだろう。
  5. メモリ使用量をチェックする。iPhoneのメモリは非常に限られています。オブジェクトにメモリーを割り当てるたびに、使い終わったらそれを解放してメモリーを返さなければなりません。 InstrumentsはiPhone SDKのツールで、メモリの使用状況を確認したり分析したりすることができます。
    • 先ほどと同じようにDeviceとDebugを選択した状態で、Run → Run with Performance Tool → Leaksを選択します。これでInstrumentsが起動し、デバイス上でアプリが起動します。通常通りアプリを使用してください。Instrumentsがメモリ使用量を記録・分析するため、アプリは定期的にフリーズします。リークがあると、Leaksタイムラインに赤いスパイクが表示されます。リークの原因は画面の下半分に表示されます。
    • リークしているオブジェクトをダブルクリックすると、原因となっているコードに移動し、アドレス欄の小さな矢印をクリックすると、リーク履歴が表示されます。リークが検出された場所が、必ずしもそのリークが発生した場所とは限らないこともある。
    • 本当に困ったら、消去法で試してみてください。コードの一部をコメントアウトしたり、慎重に迂回したりして、実行してみてください。大まかな箇所を絞り込むことができ、最終的に問題のある行にたどり着くこともあります。場所がわかれば、修正したり書き直したりすることができる。Googleを使えば、あなたの問題を扱っているAppleの内部フォーラムやドキュメントへの最短ダイレクトリンクを得られることが多いことを覚えておいてください。
  6. アプリを配布し、他の人にテストしてもらいましょう。シミュレートされた環境でアプリをテストすることは、アプリの動作やインターフェイスの見栄えを確認する良い方法ですが、自分以外のユーザーによるテストに勝るものはありません。ただ、外部テストに出す前に、最もひどいバグを取り除いたことを確認してください。アプリをテスターに配布するには、iOS Dev CenterサイトでAd-Hoc証明書を作成する必要があります。
    • 外部テスターは、あなたが予期しないような多くのフィードバックを提供してくれます。これは、複雑なアプリを持っている場合に特に役立ちます。
    • テスターのデバイスを認証するには、各デバイスの.NET Frameworkが必要です。
    • ドロップダウンリストからDeviceを選択し、"Build "アイコンを押します。Finderでプロジェクトのフォルダに移動し、"Ad-Hoc-iphoneos "フォルダを探します。その中にアプリがあります。iOS Dev Centerから入手した "AdHoc.mobileprovision "証明書を同じフォルダにコピーします。アプリと証明書を選択し、zip圧縮します。このアーカイブは外部テスターに渡すことができます。Ad-Hoc証明書ごとに別のアーカイブを作成する必要があります。
パート5

プロジェクトのリリース

  1. 配布ビルドを作成します。ドロップダウンメニューから「Device and Release」を選択します。Build」アイコンを押します。Finderでプロジェクトのビルドフォルダに移動し、"Release-iphoneos "フォルダを探します。その中にアプリがあります。それをアーカイブに圧縮します。
    • 新しいアプリがAppleの認証に合格するためには、iOS 8とRetinaディスプレイに最適化する必要があります。
  2. iTunes Connectダッシュボードを開く。iOS Dev Centerからアクセスできる。セットアップのために未完了のステップがある場合は、ページの上部に表示されます。銀行情報と税金情報がすべて正しく入力されていることを確認します。
  3. アプリの情報をすべて入力します。Manage Your Applications "をクリックし、"Add new Application "を選択します。アプリ名、SKU番号を入力し、バンドルIDを選択します。ドロップダウンメニューからアプリケーションバンドルを選択します。
    • アプリの説明、キーワード、サポートサイト、カテゴリ、連絡先メールアドレス、著作権などをフォームに入力します。
    • 権利と価格のフォームに記入します。
    • iTunesアートワークを用意してください。512x512の大きなベクターアイコンと、アプリのスクリーンショットが必要です。スクリーンショットは、iPhoneシミュレータでCommand + Shift + 4を使い、十字キーでドラッグすることで取得できます。iPhone用に320x480であることを確認してください。スクリーンショットはアプリのマーケティングにおいて非常に重要な部分なので、最も重要な部分が写っていることを確認してください。
  4. アプリをアップロードします。Ready to Upload Binary "をクリックすると、Application Uploaderツールをダウンロードする画面になります。ダウンロードして完了を押してください。
    • Application Uploaderツールをインストールし、起動します。初回起動時に、iTunesのログイン情報の入力を求められます。
    • Application UploaderツールはiTunes Connectアカウントをチェックし、バイナリをアップロードする準備ができているアプリを見つけます。それらはドロップダウンメニューに表示されます。必要なものを選択し、先ほど作成したDistribution zipを選択してアップロードします。アップローダーはバンドル内のいくつかの内部的なものをチェックし、間違ったバージョン番号、アイコンの欠落など、不正確なものがあればエラーを返します。問題がなければ、zipをアップロードして終了です。
  5. レビューを待つあとは審査を待つだけです。アップルは、申請状態が「審査中」に変わると、数日から数週間後にメールで通知します。審査に入ると、そのプロセスは非常に速い。最初の検査で不合格になると、その理由を伝える不合格メールが届き、アップルから修正案が提示されます。審査に合格すると、アップルから販売準備が整った旨のメールが届きます。あなたのアプリがiTunes app storeに掲載されます。
  6. アプリを宣伝しましょう。新しいアプリが購入できるようになったので、次はそれを広めましょう。ソーシャルメディアを活用したり、アプリに特化したサイトにプレスリリースを送ったり、YouTubeのビデオを作ったり、あなたのアプリを話題にしてもらうためにできることは何でもしましょう。
    • レビュアーに無料でコピーを送れば、そのレビュアーがあなたのアプリについてウェブサイトに書いたり、YouTubeチャンネルでレビューしてくれます。人気のあるレビュアーの手に渡ることができれば、多くの売上につながる可能性があります。
  7. 売れ行きを見てみましょう。iPhone用の無料のiTunes Connect Mobileアプリをダウンロードしましょう。毎日ログインして、売上、市場、販売国をチェックしましょう。これが楽しいところです!アップルから定期的に最新の売上データへのリンクがメールで届きます。記録用にダウンロードすることができます。頑張ってください!
この記事は、CC BY-NC-SAの下で公開された「 How to Make an iPhone App 」を改変して作成しました。特に断りのない限り、CC BY-NC-SAの下で利用可能です。

シェアボタン: このページをSNSに投稿するのに便利です。

コメント

返信元返信をやめる

※ 悪質なユーザーの書き込みは制限します。

最新を表示する

NG表示方式

NGID一覧