Jewel-mmo開発日記

RubyでMMORPGを作る過程を記録する日記。 Yokohama.rb 発起人。
2010-03-12

[iPhone]Mac未経験からiPhoneアプリ開発→申請できるようになるまでの流れ

先日無事初めてのアプリを公開した(すごーくシンプルなやつ)。 これから本格的にiPhone開発していきたいと思っているんだけど、 その前にここまでの流れというか道のりを忘れないように簡単にまとめておく。

iPhoneのみならずMacの操作もまったくわからない所からの話。 iPadの開発に関してもたぶん同じだと思う。

あくまで個人的な実感だけど、参考までにそれぞれの手順にかかる日数も記載した。

1. Mac本体を用意する

iPhoneの開発にはMacが必要だ。 オレはまったくMacを触ったことがなかったのでMacBookを買うところからのスタート。 まあiPhoneやるためにMacを買ったわけじゃなくて、単に前からずっとMacほしくてPCの買い替えのタイミングに買ったのだ。 そのあとiPhone開発もできるじゃんということで、iPhoneを買った。

というのが昨年(2009年)の夏の話。それから細々とだけど時間を取り繕ってiPhoneアプリを作ってる。

2. Macに開発環境をインストールする

iPhoneの開発にはXcodeというMac特有の開発環境とiPhone用のSDKが必要。 これらは標準のMacにはインストールされていない。

iPhone開発環境を含んだXcodeはAppleのサイトから無料でダウンロードできる(たしか登録が必要)。 3ギガくらいあるのでうちのADSLで落とすのに半日かかった・・・。

ちなみに最新のβ版だとiPadの開発もできる(2010年3月現在)。

3. シミュレータベースの開発

MacがあればiPhoneの実機がなくてもiPhoneシミュレータを使ってアプリを開発することができる。 シミュレータはiPhone(またはiPad)の外観がそのままPCのモニタに表示され、その画面内に開発中のアプリが表示される。 シミュレータに対するマウスクリックがタッチ操作となるという感じ。 シミュレータは実機とほぼ同じなんだけど、加速度センサーとかはシミュレートできない。

シミュレータを使うのはすごく簡単。Xcodeで新規プロジェクトを作る際、アプリのひな形となるいくつかのテンプレートが用意されているので、プログラムを1行も書かなくてシミュレータを使ったアプリ開発を体験できる。

開発環境のインストールからここまでの手順は、Macがあれば即日試すことができる。Mac本体を除けばここまでは無料だ。

4. 自分のアプリを実機で動かす

このステップがちょっと面倒くさい。

当然iPhoneまたはiPod touchのデバイス(こういうケースでは実機のことをデバイスと呼ぶ)は手元にあるものとして、その他に有料のDeveloper登録が必要だ(年間99ドル)。

自分で作成したアプリを動かすにはDeveloper登録だけではダメで、自分のデバイス固有の証明をWeb経由でAppleから取得して、それを使ってアプリをビルドしなければならない。 要はDeveloper登録をした者が持つデバイスのみでしか(自分で開発した)アプリが動かないように厳しい制限が設けられているわけだ。 ちなみにWebで申請すれば他人の持つデバイスでも同じようにアプリを動かすことができる。

手元のデバイスで動かすまでの手順はやや複雑(この手順自体は特にはまらなければ1、2時間で終えられる)。慣れてしまえばそんなに辛くはないけど・・・。

シミュレータで動いていればそのまま実機で動くので、アプリ自体を特別実機に対応させる必要はない。その辺は楽だった。 iPod touchでもiPhone向けにビルドしたアプリがそのまま動く。 一度動くところまで進んでしまえば、その後はただXcodeのアプリ実行先にデバイス指定するだけでよい。

運が悪いとDeveloper登録ではまって数日かかるかも。

5. アプリ開発について

XcodeやInterface Bulder(ビューを作成するGUIツール)を使ったことがなかったので(これらのツールはiPhone開発だけでなくMacのアプリを作るときにも使うもの。だと思う)、慣れるまで多少の時間がかかる。というかいまだに慣れてないので勉強中。

アプリの開発には大きく分けて、iPhoneの標準的な機能を使って作成する方法と、OpenGLを使う方法がある。 OpenGLの方は使ったことがないけど、こっちは普通のコンシュマーゲームを作るのと同じノリじゃないかな。

言語はObjective-C。・・・だけど、Objective-Cの中ではC言語がそのまま書けるので、Cを知っていればなんとかなるという感じ。 いまのところObjective-Cの勉強に特に時間をかける必要性は感じないし、別にCでいいじゃんと思う。

OpenGLは別として、iPhoneに出てくる部品をそれなりに扱えるようになるにはもう少し時間がかかりそう。 たぶん何も知らない状態からフルタイムで1ヶ月間がっつりiPhone開発に取り組めば、たいだいひと通りのことができるようになる、くらいの難易度じゃないかと思う。

初めてリリースしたTHE 合格の場合だと、iPhoneの一部の機能しか使ってないシンプルなアプリなので、何も知らない状態から初めて1、2週間くらいの作業量かな。

6. 無料アプリの申請

これがまた面倒くさい。

開発用とは別に申請用の証明を取得してアプリをビルドしないといけない。 またアプリの申請時にはいくつかの必須項目を入力しないといけない(まあほとんどはApp Storeに並ぶときに必要な情報なんだけど)。

あとはアプリのWebページ作ったり(もしかして必須でない?)。 まだリジェクトされたことがないので、リジェクト後の手続きの進め方はわからない。 アップデート申請は、一度申請を通した者にとっては難しい作業じゃない。

面倒と言っても、途中で心が折れなければ申請の作業自体は1日で十分できるはず・・・。なのでそんなにたいした作業があるわけじゃない。

申請したアプリがシンプルだったせいか、5日くらいで無事通過してApp Storeで公開された。

7. 有料アプリの申請

これがさらに面倒くさそう。

外貨の扱える口座が必要らしい。その他どんな手続きが必要なのかはまだやったことがないのでわからない。

まとめ

iPhoneの開発/申請では面倒な手続きもあるけど(主に申請関係)、まあ普通にWebで調べながらやってればなんとかなる。

書籍でおすすめなのは はじめてのiPhoneプログラミング (今調べたら新しく はじめてのiPhone3プログラミング が出てた)。今まさに読んでるところだけどこの本はわかりやすい。他にも何冊か買ったんだけど特にこれというものには出会っていない。

今後はアプリをしっかり作り込む術を身につけていく予定。