読者です 読者をやめる 読者になる 読者になる

あおみかんのブログ

フリーランスのIT系エンジニア。ゲーム制作スタジオ4th cluster代表。

ぼくがかんがえた最強の「一度使ったら手放せない!? iOS開発で絶対に使うべきライブラリ!」

iOSアプリ開発

特にないです。

一度使ったら手放せない!? iOS開発で絶対に使うべきライブラリ! - yayuguのにっき

・・・って、ないのかよ!

せっかくなので、真面目に書いてみました。

前提知識

ちょっと知っておいたほうが良さそうなことを並べておく。

ライブラリの管理には CocoaPods を使おう

ライブラリの管理はCocoaPodsでやろう。 Ruby界隈のGemみたいな、あるいはJava界隈のMavenみたいなやつです。

CocoaPods.org *1

チームメンバーにCocoaPodsとか分からんって人が居る時はPodsディレクトリ以下もgitリポジトリに入れちゃいましょう。そうでないならPods以下はignoreしましょう。

ライブラリを探すには CocoaControls を使おう

画像つきで見れるので欲しいものが一目瞭然ですね。
Custom Controls for iOS and OS X - Cocoa Controls

本題

ということで、本題に入りましょう。

AFNetworking

すっかりお馴染みだと思いますが、HTTP(S)アクセスするためのライブラリです。

標準ではNSOperationQueueの管理を自動でしてくれますが、自分で管理するともっとリッチに使えます。 内部のコードも読みやすくて、大変よいライブラリです。

僕もかれこれ4,5個ぐらいのプロダクトに関わってますけど、AFNetworking使わずにHTTPアクセスするコードは未だに書いたことないですね…

最新のメジャーバージョンはiOS7以上にしか対応してないので、iOS6にも対応したい時には

Podfile

pod 'AFNetworking' , '~> 1.3.1'

こんな感じでバージョン指定した方が良いかも。

CocoaLumberjack

ログを吐くためのライブラリです。 verbose, info, warning, error の4つに分ける昔ながら(?)のやり方が使えます。

NSLogって実は結構トロいので、あまり使わないほうが良いというのは結構有名ですが、
こいつをつかうと、リリースするバージョンでは全部オフにしておいたり、逆にサポートメールに添付するためにファイルに書き出しておいたりが自由自在。

XcodeColorsを利用すると、色をつけることも出来るので、尚良いです。

BlocksKit

標準ライブラリにブロック構文を追加してくれるライブラリです。

UIActionSheetとかUIAlertViewとか、こいつなしで実装するのは面倒ですね。

他には、NSArrayとかDictionaryに関数型言語ライクなブロック構文も導入してくれるんだけど、このへんは、それほどメリットを感じてないので最近は使っていません。


PSPDFKit という超有名なPDF用ライブラリの作者のツイートでこんなものを見つけました。

…最新のiOS7で64bitも含むビルドをするとコンパイルが通らない、という事ですね。 そこのメンテナンスも追い付いていないようです、BlocksKitを使う時はこの点に注意して下さい。

MagicalRecord

CoreDataを楽に触るためのライブラリです。

ちょっとドキュメント不足なんですが、ただでさえ難しいCoreDataなので、何もなしで触るよりはずっと楽です。 mogenerator も併用しましょう是非。

スレッドの理解が浅いうちは、常にメインスレッドから触るようにするとバグに見舞われにくくて良いと思います。

おわりに

とりあえず「手放せない」ってぐらい毎回のように使うライブラリを紹介してみました。
…実際、この辺ナシでは開発したくないなぁ。

オススメの書籍 *2

Test-Driven iOS Development (Developer's Library)

Test-Driven iOS Development (Developer's Library)

  • 作者: Graham Lee
  • 出版社/メーカー: Addison-Wesley Professional
  • 発売日: 2012/04/09
  • メディア: ペーパーバック
  • 購入: 1人 クリック: 19回
  • この商品を含むブログを見る

iOS アプリ開発でTDDをやるための書籍。全部は読めてないんですが、超良いです。 *3

詳解 Objective-C 2.0 第3版

詳解 Objective-C 2.0 第3版

辞書ですね。

よくわかるiPhoneアプリ開発の教科書【iOS 6&Xcode 4.6対応版】

よくわかるiPhoneアプリ開発の教科書【iOS 6&Xcode 4.6対応版】

マジの初心者には良い本です。

エキスパートObjective-Cプログラミング ?iOS/OS Xのメモリ管理とマルチスレッド?

エキスパートObjective-Cプログラミング ?iOS/OS Xのメモリ管理とマルチスレッド?

メモリ管理について詳しい。 ARCで必要性が徐々に薄れてきたけど、やっぱり理解しておくと違います。

Effective Objective-C 2.0

Effective Objective-C 2.0

あ、こんな本出てたんだ。欲しいなぁ。 ウィッシュリストに入れておくから誰か買ってください!!!(乞食)

僕が書いたiOS開発系の記事は以下。良かったら読んでみてくださいな。 特にiOS6,7両対応のための話は、オススメです。

"iOSアプリ開発" - 記事一覧 - あおみかんのブログ

*1:何かちょうどレイアウト変わってました、びっくり。

*2:やっぱオススメ書籍も書かないとね。せっかくホッテントリに便乗したエントリ書くんだから。。

*3:実は無料でも読めます。著者が公開してる。