iOSアプリ(Objective-C)を書き始めて半年たったので、それまでに触ったりした開発ツールやObjective-Cのライブラリなどについてまとめてみる。
開発ツール
AppCode
個人的にはXcodeより好きなので、コードを書く時は基本的にAppCodeで書いていた。
デバッガー周りやエラー表示についてはXcodeの方いいところが多いので、Xcodeも併用する。(どっちにしてもxibやData ModelをいじるときにはXcodeが必要な気がするので両方共起動してる事が多かった)
AppCodeはリファクタリングやXcodeでAnalyzeとかしなくてもメモリ解放忘れとかわかるのと、Quick fix(Alt+Return)がすごく便利なので書くときにリズムを生むのに役立った。
WebStormも使っているので同じ系統のIDEに慣れているのもあるけど、JavaScript書いてる時よりObjective-C書いてる時のほうがIDEの機能を色々使った気がする。
どちらのIDEでもComplete Current Statementの機能はものすごく便利。
Ingredients :: Cocoa Documentation Viewer
Appleドキュメント形式のドキュメントビューアー。
そこまで使わなかったけど(ググる癖があったので)、Appleのデベロッパーサイトは好きじゃないので、ドキュメントビューアーで見られると便利だった。
日本語リファレンス – 福井高専IT研究会OfficialWiki もリファレンス的に便利。
(JSReference でさりげなく両方共検索できるようにしている)
TestFlight
TestFlightでテスターにアプリをインストールしてもらっているので、これが無いと面倒くさすぎて辛い。
TestFlightの使い方と導入方法 で使い方とかまとめた。
その他
- Zambiorix/Apple-Push-Notification-Test – GitHub
Apple Push Notificationのテストで使った - TiDDとgit-flowを合わせた開発手法について | Technology-Gym
Redmineとgitを合わせた感じで使う - SourceTree
GitのGUIフロントエンド。大抵CUIからGitをいじっているので、CUIから起動できるようにすると便利。
コマンドラインから今いるgitレポジトリをSourceTreeで開く | MemeTodo - tig
GitのCUIでGUI的に見られるツール。
ライブラリ関係
ShareKit
Twitterに投稿する機能をつけるときに利用した。
そろそろiOS5とかにちゃんと対応したShareKit/ShareKit – GitHub 2.0が出るそうです。
ASIHTTPRequest
大抵のことができる通信ライブラリ。
[request release]; – All-Seeing Interactiveで開発終了宣言されてしまった…
(まだPull Requestのマージはやってるみたいだけど)
SVProgressHUD
ローディングとかのHUDを表示するライブラリ。
クラスメソッドで簡単に実行できるので便利。
ソースコードも読んで面白かった。
まあ似たようなものはいっぱいあるけど。
magicalpanda/MagicalRecord – GitHub
CoreDataをActiveRecord風に扱えるMagicalRecordの使い方 | Technology-Gymで使い方を書いた。
MagicalRecordを使い出してからCoreDataへの恐怖心は大分和らいだ。
正直CoreDataをそのまま触りたくは無い気がする。
JSONKit
plistでデータ持たせるよりJSONでデータ持たせるタイプ
GHUnit
iOSのテストフレームワーク。
- 簡単なObjective-Cのテストフレームワーク導入 | Technology-Gym
- GHUnitを導入する | Technology-Gym
- GH-Unitのコマンドライン実行について | Technology-Gym
- iOSで使えるBDDスタイルのテスティングフレームワーク「cedar」の導入方法 | Technology-Gym
- もう一つのBDDスタイルのiOSテスティングフレームワーク「Kiwi」の導入方法 | Technology-Gym
等テストフレームワークについて色々書いたけど、今のところ安定して使えるGHUnitでテストを書いてる。
他 iPad
- MGSplitViewController
iPadのSplitViewControllerの代わりに使った。
更新されてない+バグがいくつかあるので、forkしたものを使ったほうがよいのかもしれない。
ARC対応してないけど2人でコミットしてる感じ http://t.co/COqXQY0y ARC対応とバグのパッチとかも取り込んでる感じ http://t.co/zONq3Biv ARC対応only http://t.co/fdfZkHZq - ATPagingView
横にTableVewを並べたくなったので利用した。
NavigationController内で使うと何かおかしな気がする…
ドキュメント
ドキュメントというほどドキュメントじゃないけど、作図とかスクリーンショット系のソフトウェア
正直iOS関係ない…
Skitch – Annotate, edit and share your screenshots and images…fast.
SkitchはGyazoに編集機能が追加された感じにスクリーンショットを気軽に貼付けできるので便利。
正直今はGyazoよりいいものになってる気がする。
設定でDirect linkをクリップボードに入れるようにすると便利になる。
OmniGraffle
フローとかそういう図をかきながら整理するのに使える。
画像も簡単に入れられるのがいいところ。
blockdiag
テキストからブロック図を生成するツール。
エディタで図の元になるものを書くわけだけど、quickrun.vimでblockdiagのプレビューする | MemeTodoみたいな感じでプレビューしながら書いてた気がする。(不完全なので誰かがもっと良い方法をやってるはず)
redmineのwiki
redmineのWikiにとりあえず簡単なドキュメントとか書いたりするけど、正直redmineはあんまり好きじゃないです。
ATOK Pad
Skypeで書いてる時に、ATOK Padにとりあえず書いてからまとめてポストするために使ってる事が多い。
他の他
Stack Overflow
無いと結構厳しいですね。
iOS関係だとGoogle以上に優秀な感じがします。
GitHub
ライブラリ探すのにGithubを検索することは多い。
Google Code Search並の検索ができるようになるといいのだけど。
おわり
とりあえず色々使っていたソフトウェア等を書きだしてみた。
他の人の環境に興味があるので、2月だし他の人も書いてみるといいと思います。
ビルド -> Runあたりに何か無駄な時間が多いので、KIFやUI Automationなどの自動化やビルド周りを色々やっていきたい所。