さくせん:いろいろやろうぜ

いろいろなことをやって、楽しみます。

iPhoneアプリを初めてリリースするまでの道のり

週末と平日の空いた時間を使って、iPhoneアプリをリリースした。
アプリの紹介は別エントリでするとして、ここではどんな過程でアプリをリリースしたかを書く。
過程といっても、HowToではなく自分の思い、考えなどなどがメイン。
C言語すら知らなかった私が2ヶ月でiPhoneアプリをリリースするまでにやった事。 | Last Day. jpにインスパイアされ、エントリしました。
平日は仕事が忙しく、大変だったけど楽しかったから辛くはなかった。

闘牌の軌跡

麻雀のスコアを管理するアプリ。
半荘ごとにスコアを入力し、データを蓄積。あとでグラフや統計データとして見ることが可能です。
おそらく、iPhoneアプリとしては他にはないはず(独自調査)。
iTunes App Store で見つかる iPhone、iPod touch、iPad 対応 闘牌の軌跡
使えば使うほど味がでる!

動機

今年の目標が、アウトプットをするであるため。
それと、世界デビューと言ってみたかったから。
日常に刺激が欲しかったから。

作成者のITスペック

SE。
組み込みソフトの経験ゼロ。
C言語は、プログラミングを覚えるために大学で学んだのみ。
VB.NET、3年。
社会人4年目の終了間近。

やったこと

まずは、Objective-Cになれる

iPhoneアプリObjective-Cという言語で作るらしいので、それを学ぶ。
参考にしたのは、以下の本。

たのしいCocoaプログラミング[Leopard対応版]
木下 誠
ビー・エヌ・エヌ新社
売り上げランキング: 27812

超簡単に学べる。Macでのアプリケーションの作成方法がメインで、直接iPhoneアプリの作成とは関係ないが、Objective-CフレームワークであるCocoaに慣れることが出来た。iPhoneアプリはCocoa-touchというフレームワークで動いているからCocoaに慣れるのも大切。

iPhoneアプリの作成方法のお勉強

Beginning iPhone Development: Exploring the iPhone SDK
Dave Mark Jeff Lamarche
Apress
売り上げランキング: 27067

洋書であるが、これを使ってサンプルコードを移したり、改造したりして遊んだ。
実は前々からアプリをリリースしたいと思っていたので、ここまでの勉強はすでに結構前に終わっていた。

ここからが最近のやったこと

ラフな設計

スケッチブックにアプリの全体像と画面遷移を絵にしてみたり、実現したい機能を列挙した。
iPhoneアプリSQLiteが使えるということが調べて分かったので、データベース設計もここで行った。

いざ、実装

とにかく、「ググる→サンプルの理解→実装→実現したい機能への昇華」の繰り返し。
はじめは辛かったが、今ではよくあるアプリの作り方がだいぶ分かるようになった。理解しながらつくっていくのが大事だ。
特に役に立ったのは、Appleが提供してくれているサンプルとStack OverflowAppleのサンプルは、フレームワークに慣れるため。Stack Over Flowは疑問点を解決するためによく参照した。Stack Over Flowは英語だが、かなり有益であった。
英語を毛嫌いするとiPhoneアプリ作成ではかなり損をする!
また、FAQを読むまでとはいかないが常にSDKの情報を得るために2ちゃんねるの「iPhoneアプリ開発初心者質問箱」を常に読んでいた。ここに出てくる質問は、初心者によくある質問ですぐには役に立たなくても、毎日呼んでいることで似たような問題の回避につながった。
特にメモリーリークやViewの振る舞い(画面表示のこと)に関しては、ここを読んでいるだけで躓くことが減ったように感じる。

Apple Developeプログラムへの参加

お高いけど、世界デビューと言いたいために参加。
1万円で世界デビューが出来る。

iOSシミュレーションと実機でのテスト・デバッグ

実機で動いて感動した。
実機での動かし方も、AppleのドキュメントとGoogle先生に聞いたらそんなに苦労はしませんでした。
噂には聞いていたが、メモリーリークが強敵だった。

そして、リリース

Wating For Review、In Reviewを経て、Ready For Sale・・・!!
待っている間は、Rejectされるんじゃないかとソワソワしていた。
無事、世界デビューを果たすことが出来ました!

感想

やれば、できた!
インターネットは高速道路と羽生さんと梅田望夫氏はよく言ったもので、まさにこれを実感出来た(ウェブ進化論か何かで読んだ)。
インターネットがなければここまで短時間にリリースまで行かなかった。良い時代である。
挑戦すれば、思っている以上に早く結果が得られる。プロに近づける。

今後について

UIについてはアップデートを行い、簡単な入力が可能なようにしたい。
グラフの表示もキレイにしたい。

最後に

麻雀好きでiPhone持っている人は、ぜひダウンロードしてみてください!
より麻雀が楽しく、真剣に遊べます!