2chまとめアプリ「ニコ2ちゃんねる」の開発&販売手順まとめ

先日、初めてのiphoneアプリニコ2ちゃんねる(itunesが起動します)をリリースさせていただきました。


はじめてのiphoneアプリ開発だったり、objective-cだったりでプログラミングも苦労しましたし、AppleDeveloperConnectionへの申請関係でも面倒な思いをしました。ので、ここにまとめを兼ねて書いておきたいと思います。これから開発を始める人の参考になれば良いと思います。

・チュートリアルよりサンプルコード

今回、初めてのiphoneアプリ開発を始めるにあたってまずした事はxcodeのインストールです。まあ、そこはネットを調べてもらうとして、一番最初に手を付けたのはサンプルコードをひたすら読むということです。

少し前の上の資料でもサンプルコードやライブラリをまとめていますが、今回は実際に参考にしたサンプルコードを挙げておきます。

NatsuLiphoneはニコ2ちゃんねるの全体の構造の参考にしています。雰囲気的に似ているなと感じるところはあると思いますが、読んでいて大変分かりやすく画面遷移などの部分で勉強になりました。
Hatenatouchの方では、ライブラリや通信用のクライアントなど便利系のコードの使い方を学びました。JSONの周りは勉強になりました。

githubやgooglecodeなどにソースコードはゴロゴロしているので、いろいろ落としてきて動かしてみるのが良いと思います。

#xcodeのワークスペース直下にソースコードを配置
sudo port install git-core +svn
git clone git://github.com/kishikawakatsumi/hatena-touch.git

xcodeでプロジェクトを開いてビルドすれば実行できるので、後はいろいろ改変させてみて挙動を掴んでみるのが良いと思います。チュートリアルとやるとその場ではやった気になるとは思うのですが、いざ追加の機能を付けろと言われると途端に何をしたら良いのか分からなくなると思うので、お勧めしません。

・参考書について

チュートリアルと同じで参考書を読んでいても実際のアプリは書けないと思うので、とりあえずソースコードを動かして見て、分からない部分が出てきたら参考書やgoogle検索する方が実践的で身になりやすいと思います。

ただしソースコードを読んでいても絶対に学べないのは、開発環境の使い方です。iphoneアプリはxcodeで開発しなくてはならないので、ここが1つ目のハードルです。ここだけは最初に参考書を見て概要を掴むのが良いと思います。

サンプルプログラムから学ぶ iPhone SDK プログラミングガイド
サンプルプログラムから学ぶ iPhone SDK プログラミングガイド酒井 裕司

おすすめ平均
starsこれはひどい
stars難しいところが面白い本
starsソースとかが乗っていない事があります...
stars本の記述と実動作が伴わない
stars「責任者出てこい!」と古いネタを持ち出したくなる

Amazonで詳しく見る
by G-Tools

私が良かったと思うのはこの本です。amazonでの評価は低いですが、xcodeの詳しい使い方が載っていて為になりました。ソースコードのところは読んでいません。

あとobjective-cについての基本的な部分は辞書的に使える本が一冊は欲しいなと思い次のものを買いました。

詳解 Objective-C 2.0
詳解 Objective-C 2.0荻原 剛志

おすすめ平均
stars読み通すのは少々大変です
starsMacプログラミングの良書
stars初心者入門書としてはお勧めします。
stars良書!
stars日本語ではこれ以外ないでしょう

Amazonで詳しく見る
by G-Tools

ちょっとした関数の挙動についてはこれを見ています。

・ネット上の開発関連情報について

開発のモチベーションを保ったり、自分の知らないライブラリやテクニックを知るためには常に最新情報に触れているのが良いと思っています。私は過去に自分で作ったまとめサイトジェネレータでiphone開発関連のフィードをまとめてそれを毎日眺めては新着記事に目を通しています。

まあ何でも良いと思います。とにかく、常に業界動向に気を配ることで自分を刺激するのが良いと思います。


・SQLiteを使ってブックマークを管理

iphoneのアプリではアプリ内にSQLite形式のデータベースを持つことができるので、アプリ内のブックマークの管理にはそれを使っている。mysqlなどと同じようにselectしたりorder使ったりできるのでやっぱり便利。最近はブラウザ側でも使えるようになってきて、クライアント側でデータを管理するようにして便利に使うというのは一般的な話になってきそうですね。

fmdbというiphone用のSQLiteラッパークラスを使ってqueryの発行を行っています。とっても簡単に使えて問題なく動作しています。
テーブルの作成については、firefoxのextensionであるSQLite Managerっていうのを使ってベースとなるデータベースを作成し、それをアプリ内に読み込ませるようにしています。


・アプリを実機で動かして、AppStoreで販売できるようにするまで

ハッキリ言って一番面倒です。itunesConnect周りの完成度は低いのだか高いのだか分かりません。よく出来ているなーとは思うけど、日本語文字列で引っ掛かって何ヶ月もアプリ販売できないとか発生するようです。

1.登録情報の確認
自分が登録しようとしているアカウントの記載をチェックする。日本語とか文字化けとかが入っていたら、再度アカウントを取り直したほうが無難。

2.Developer Programに登録する
10800円をAppleにお布施して開発者と認めてもらう行事。通常は問題無く通過するが、私は送られてきたactivationCodeがエラーになって先に進めなかった。Appleに英語でメールを送ったら個人を認証するから運転免許証のコピーをFaxで送って欲しいといわれる。が、Faxは無いし面倒なので、免許証をスキャンして、メールに添付して送り返した。すぐに返信が来てとりあえず事なきを得たが一瞬面倒なことになったと思った。

大概、面倒なことになるとかなりの期間放置されるようなので・・・。

3.実機での動作
ここについては、ネット上のドキュメントを参考にしながらその通りに作業を進めた。

ちなみに私はこの辺を参考にしました

とりあえず実機での動作が確認できたらひたすらリリースに向けて開発を進める。ただ、並行してアプリを販売できる状態に持っていくのもやっておりた方が良いと思う。完成すぐ販売という流れに持って行きたいので。

4.W-8BENの申請
有料でアプリを販売できるようにするための手順、ここが一番面倒だった。もはや1日まるまる使った。精神的にも・・・間違うと面倒なことになるので。

他にもいろいろ参考にしたと思うがとりあえず上のとかを参考に登録をしていきます。

EINというのを取得して申請書に書かなくちゃいけないのかどうか議論が分かれているのですが、私は上のを参考にとりあえず取得をパス。とりあえず今現在アプリの販売は出来ている。

というわけで、頑張って資料を提出する。最後にPDFでW-8BENのPDFが送信されてきて、それをFAXで送ってくださいと書かれているのですが、これも一度印刷したものをスキャナしてメールで送信しました。次の日には受領したよメールが来ていてアプリが販売できる状態になりました。


5.アプリの申請

これもまた面倒だった。なんでこんなに面倒なんだよと思いつつも仕方が無いので頑張る。

というわけで無事アプリを申請、一週間ほどで審査が終了し晴れて販売となったわけです。


・あとは売れるアイデアを考えるのみ

以上でアプリを作ってから販売することができるようになったので、あとは良いアイデアを考えるだけですね。ただ、AppStoreのトップランキンを見てもあらゆる内容のアプリが販売されているので何がヒットするのかは判断が難しいところだと思います。世界レベルで売れるアプリであれば、良い気分に浸れそうですね。とりあえず自分が欲しいなと思えるようなアプリを作るのが手っ取り早くて確実なのではないかと思います。


・開発者が個人レベルで収入を得られる時代

AppStoreが先駆けとなって、オープンなプラットフォームと流通市場を作ってくれたお陰で、他のさまざまな分野でもその流れが出来つつあるようですね。日本ではmixiがアプリプラットフォームを発表して、開発者で8割還元するという太っ腹な発表がされましたし、androidやwindowsもしかり、更にはsonyを始めとするコンシューマゲーム分野でもオンラインでのゲーム販売が主流になりつつあり、開発環境の値下げも始まっているようで技術力さえあれば、個人でも任天堂のwii用のゲームを作れる時代が来るかもしれませんね。

いやー夢は広がりますね。

というわけで、ニコ2ちゃんねる(itunesが起動します)を宜しくお願いします。

PS.よく落ちるらしいので頑張って直します。