2010-08-02
知識ゼロからはじめるiPhoneアプリ開発
iPhone アプリ開発を初めてはや2年。わけわからんレベルからなんとかアプリをリリースするところまでこぎつけました。もともと趣味ではじめた事ですが今は仕事でも iPhone アプリ開発をしています。ここに至るまで自分が調べたことや参考にした文書をアプリの構想からアプリをリリースするまでの手順にそってまとめてみました。
初期投資
10800円とプライベートな時間、iPhoneまたはiPod Touch。
対象開発者と前提知識
- Objective-C 未経験者
- Java や C♯ C++ などのオブジェクト指向言語で開発したことがあるけど、どうやって iPhone アプリ開発したらよいかわからないという開発者
- MVCぐらいは知ってた方がいいかも
まつもと直伝 プログラミングのオキテ 第20回 MVCとRuby on Rails - .NET の Windows Form アプリの開発経験または Android アプリの開発経験があればなお可。
英語の知識は必要か?
- 英語の文書であっても図を見てサンプルプログラムを動かせば何が言いたいのか何となくわかります
- 大学で英語の単位落として留年したような人間でも何とかなりましたw
- 大量の英語文書を見てくじけないために
原文をスラスラ読みたい!「MSDN ライブラリによく出る英単語 100選」
アプリを公開するまでの道のり
アプリ名と簡単なコンセプトを作成
- 開発中に迷ったら必ずここに立ち戻ること
- アイデアを形にする為に役に立つ書籍
発想する会社! ― 世界最高のデザイン・ファームIDEOに学ぶイノベーションの技法
アイデアのつくり方
画面イメージと画面遷移の設計
- できるできないの判断。iPhone アプリに向いてる向いてないの判断をする
- サンプルコード UICatalog を動かして何ができるかを把握すること
UICatalog - 以下の文書は必ず読むこと
iOS Human Interface Guidelines
iOS Application Programming Guide - UI部品をどう並べるか、画面遷移をどうするか、ユーザとアプリのやり取りをどう設計するか、迷ったらこの本を読んでみてください
iPhoneアプリ設計の極意 ―思わずタップしたくなるアプリのデザイン
Objective-C の構文や特徴を押さえる
- 入門編
Obejctive-C 3分クッキング - 最低限黒本は読むこと(開発と同時並行で良いので)
詳解 Objective-C 2.0 改訂版 - 深く知りたければ Dynamic Objective-C を読むこと
Dynamic Objective-C - iPhone アプリ開発の流れを知る
Creating an iPhone Application - C言語のポインタについて理解しておく
ポインタと配列
画面と UIViewController の対応図を作成
- UITabBarController や UINavigationController をどこで使うか整理する
- 以下の文書は必ず読むこと
View Controller Programming Guide for iOS
画面周りを中心にプロトタイプ開発開始
- Interface Builder の使い方に慣れる
- プロトタイプなのでメモリリークとかあまり気にしない
- iOS4から導入されたマルチタスキングについて理解する
Executing Code in the Background - UIApplicationDelegate,UIViewController のイベントを把握する
マルチタスキング対応後のアプリのイベントフローをまとめてみた - UITableView を使うのであれば以下の文書は必ず読むこと
Table View Programming Guide for iOS - Android アプリの開発経験者には以下の記事がおすすめ
開発者目線でAndroidとiPhoneを比較してみる
周辺技術に付いて調べ始める
- 開発するアプリ固有の技術要素を調べる
例:位置関係やるなら Core Location。マッシュアップアプリやるなら NSURLRequest,XML パーサーなど - 都度アップルのサンプルプログラムをを見て研究すること
iOS Reference Library - Sample Code - - その他役に立ちそうなiPhoneアプリのコード
AppsAmuck iPhone Development Tutorials and Examples
公開されているソースコード
37 Open Source iPhone App Store Apps
モデルの設計
- 画面開発中に必要と思われるモデルクラスを抽出。設計する
- UML 描画ツールは Astah がおすすめ
astah* - 最も身近なソフトウェア開発設計支援ツール
データ管理方式の決定
- NSUserDefaults,plist,CoreData どれを使うのが良いか考えて使用すること
例:XXは設定項目なので plist、XXはデータの登録変更削除をするので CoreData など - iOS のデータ管理について以下の記事が参考になります
iOS であつかうデータの種類と生存期間 - Core Data 使うのであれば以下の文書は必ず読むこと
Getting Started with Core Data
iPhone Developer Program に登録する
- 年間10800円。ケチらず払うこと
- Apple ID 登録時に日本語を使わないように気をつけること
本格的に開発開始
- プロトは思い切って捨てちゃいましょう
- プログラミング規約の作成(一人でやるなら脳内規約でも可)
アップルのサンプルコードや Google の規約を参考にする
Google Objective-Cスタイルガイド 日本語訳 - プログラミングで気をつけること
iPhoneアプリ開発時のメモリ管理で気をつけること
iPhoneアプリ開発時のメモリ管理で気をつけること(マルチスレッド編)
メソッド設計で守るべき10個のルール
UITableViewのハイライトについてまとめてみた - その他開発に役立ちそうなTIPS
NSOperationQueue スレッドと処理の関係
NSOperation 非並列実行モードと並列実行モードの使い分け
タイマーを使って電子コンパスの動きを滑らかに見せる方法
iPhone の地図上に簡単に図形を書く方法 - 実機にインストールするときの手順
実機へのアプリインストール手順 - TabBar や ToolBar でアイコンが必要になったら
Glyphish – Great icons for great iPhone & iPad applications
iPhone用アイコンしょぼくてすみませんw
テストとアプリの改善
アプリのアイコン作成
- デザイン経験がなくてもやるしかない
- Adobe 製品を買うことができない開発者は Inkscape(Illustratorに相当) と Gimp(PhotoShopに相当) で頑張る
Inkscape. Draw Freely.
GIMP - The GNU Image Manipulation Program - どうしていいかわからなくて困ったときは
デザインとか加工とか出来ないからなんかいいの教えて、と言われて教えたツールいろいろ
iPhone4やiPadに対応する
以下やるやらないは任意
- iPhone4 の Retina に対応する
アプリケーションを iPhone 4 の Retina Display に対応するための方法いろいろ - iPadに対応する
iPhone アプリを iPad 対応にする方法(プログラミング編) - 端末ごとに必要なアイコンのサイズが違うのでそれぞれ用意する
Icon Reference | Hicksdesign
値段を決める
- 完全無料
- 無料 + 広告付き(iAd,Admob)
- 有料
アプリの値段を後から下げるのは簡単だけど、上げるのはかなり難しい。115円はおすすめしない - アプリ内課金
In App Purchase 概要
失敗しない iOS In-App Purchase プログラミング
アプリ申請
- iTunes Connect でアプリの説明とスクーンショット等を登録
- アップルからお金を受け取るための設定
iTunes Connectへの契約、税金、銀行情報登録 - 手数料等を考慮すると銀行口座は CITIBANK が良いようです。
App Storeの売上の入金プロセスが変わった話
iTunes Connect の振込先を CITIBANK に変更 - ゆうちょ銀行の口座でドル建てにすると手数料がかからないという情報も
外国からの送金手数料 - App Store Review Guidelines を必ず確認すること
App Store Review Guidelines for iOS apps
App Storeの審査基準 - 過去にリジェクトされたアプリと同じことをしてないかチェック
iPhoneアプリの審査でリジェクトを食らった事例をお教えください。
アプリのPR
- 売れるアプリにするためにどうすればいいか
iPhoneアプリの販促活動に関してまとめてみた - アプリの海外展開を考えているのであれば以下の本が激しくおすすめ(2012/01/31 追記)。
iPhone&iPadアプリマーケティング
開発で困ったら
どうしてもわからないことがあれば@iphone_dev_jp宛に質問をつぶやいてみると解決策が得られるかもしれません。
一番大事なこと
とにかく作ってみることです。作りながらこの記事を参考にその都度必要な知識を仕入れていけばなんとかなります。
これまで開発したiPhoneアプリ
改訂履歴
- 2011年9月9日
画面イメージと画面遷移の設計、データ管理方式の決定を修正
トラックバック - http://d.hatena.ne.jp/glass-_-onion/20100802/1280758789
- kinneko@転職先募集中の日記 - 知識0から始めるiPhoneアプリ開発
- Shake! - 携帯ニュース 2010/8/4版
- メモブロ - 知識ゼロからはじめるiPhoneアプリ開発
- My Bookmark - 2010/08/04(水)の出来事
- きのうのあたしより - [ついった雑記]2010/08/04
- iPhone 4G 3Gs 3G情報
- asakuramkの日記 - 実験
- asakuramkの日記 - jikkenn3
- もとまか日記 - はてブのiPhone記事ホットエントリー・トップ100を...
- coizne’s web - iPhoneアプリの作り方(はじめたばかり編)
- 淡々とめもりんぐ - [ref]
- kj-kiのはてなダイアリー - はてなブックマーク年間ランキングトッ...
- ぜろぽんがiPhoneアプリ開発するかも日記 - 久しぶりに更新
- スマートフォンのアプリ開発
- Web系エンジニアbcoのメモ帳 - A Day In The Life 指針として
- みんなのガジェット通信 - A Day In The Life 指針として
- BASHI_BASHI - cocos2dでiPhoneアプリ開発/ノウハウ集
- iPhoneアプリ開発 事始め - iPhoneアプリ開発者の学習方法
リンク元
- 2204 http://b.hatena.ne.jp/
- 908 http://b.hatena.ne.jp/hotentry
- 577 http://www.ig.gmodules.com/gadgets/ifr?exp_rpc_js=1&exp_track_js=1&v=fdb2b406636e1f3cff1c5d7e660f59eb&container=ig&view=default&lang=ja&url=http://privategadget.googlecode.com/svn/trunk/gadgets/hatena.xml&country=JP&parent=http://www.google.
- 467 http://b.hatena.ne.jp/hotentry/it
- 432 http://twitter.com/
- 411 http://reader.livedoor.com/reader/
- 392 http://clip.livedoor.com/page/http://d.hatena.ne.jp/glass-_-onion/20100802/1280758789
- 306 http://homepage1.nifty.com/maname/
- 299 http://www.sleipnirstart.com/
- 294 http://members.jcom.home.ne.jp/sarasiru/






