iOS開発で使って便利だったオープンソースライブラリ
追記:
※この記事は、「既にアプリ開発者である人」がより生産性を上げれることを願って書いた記事になります。
よく理解してない方がこの記事を参考にして「これを使ったら簡単になるらしいよ」という解釈をするための記事ではありません。
利用すれば便利になる「かもしれない」というものであることを理解しておいてください。
アプリの開発は早く、その上クオリティ高く完成させるのが良いと思います。
自分で、便利クラスなどを作成している人も多くいるとは思いますが、
iOSはオープンソースなライブラリが充実しているので、できるだけ利用をして
早く確実に開発を終わらせちゃいましょう。
ライセンスはそれぞれを参照して確認してください。
ARCへの対応有無もよく確認してみましょう。
※見出しタイトルがリンクになっています。
SDWebImage
インターネット経由で画像を取得し、UIImageViewへ表示するとき、通信回数を減らすために、内部にキャッシュを保存して、最終更新時間をチェックして、キャッシュをクリアしたり、通信エラーチェックもしたり、となんやかやで面倒なものです。
Facebookアプリでも利用しているという噂のこのSDWebImageを使えばその辺の面倒な事を一挙まとめてやってくれて超便利。
local disk上にキャッシュを残すのか、メモリ上にキャッシュを残すのか、など詳細な設定までが可能となっています。
とにかくネット上からの画像を表示させる場合は必須なライブラリの1つです。
FlatUIKit
フラットでポップなUIを提供するためのフレームワーク「FlatUI」をiOSで使えるようにしたFlatUIKitライブラリ。
iOS7でフラットUIとなりましたが、iOSの標準ボタンはなんか味気ないですよね。それにまだまだiOS6以前のユーザーも多い。
そういった時に、さっとボタンなどのUIを装飾するのに使えるのがこのライブラリ。
アプリに機能が増えて、ボタンが増えるたびにデザインにボタンのデザイン追加をお願いするのも面倒だし、こういうライブラリで表示を統一化させてみるのも良いかも。
SVProgressHUD
ただいま読み込み中のインジケーターをめちゃくちゃ簡単に表示するためのライブラリ。
iOSではデフォルトでUIActivityIndicatorが用意されているけど、なんだかんだで不便ですよね。
これを使えば、毎度の手間も解決です。
BlocksKit
iOS4から利用が可能になったBlock構文はとても便利ですが、UIAlertViewなど昔からある機能ではデフォルトで対応していないものが多く、自分でBlocksに対応したものを作ったり個別のアドオンを入れたりってめんどくさかったりしますよね。
BlocksKitは予め使われそうな機能をBlocks化したライブラリなのでこれ1つをいれておけば、使いたい時にすぐBlocksで書くことができて便利です。
コードもまとまって連続したものになるため、あちこち移動しなくて可読性があがります。
LKBadgeView
タブメニュー等を利用した際に、未読件数を表示したりで利用するバッヂ機能ですが、最近はカスタムされたタブメニューがほとんどなので、なかなか標準の機能では対応しきれません。
このLKBadgeViewを使うと、どこにでも貼り付けられるViewとしてバッヂの機能を使うことができるため、カスタムタブメニューでも簡単に利用できます。
当然タブメニュー以外でも、他のViewと同じように配置して使えます。
Toast
AndroidにあるToastを、iOSに移植したライブラリ。
本当はWToastというライブラリを使っていたのですが、今探すと見当たらなかったので、より良さそうなこちらにしました。
UIAlertViewなんかでいちいちユーザーにボタンをタップさせる手間なんかを考えると、そこまで重要じゃないけど、一応画面に表示しておきたいメッセージなんかの場合、このトーストを使うと便利です。
後は画面上にデバッグとして情報を表示させたい、なんて場合に使ってみても良いかもしれません。コンソールが見れない人向けに。
DLCImagePickerController
フィルタ機能付きカメラを簡単に作るためのライブラリ。
写真撮る、フィルターかける、保存する。
カメラライブラリから写真開く、フィルターかける、保存する。
という処理セットが既につくられているので、これをカスタマイズすれば自分好みのカメラアプリが作れてしまいます。
ライブフィルター機能や、ぼかし機能などもあるので、そこそこ高機能です。
AppIrater
このアプリを遊んでくれてありがとう、おもしろかった?ならレビュー書いてけよ!ってダイアログを指定条件で表示してくれるライブラリ。
レビューはやはり促してあげないとなかなか書いてはくれない(批判意見は頼まなくてもたくさん書いてくれます)ので、このようなライブラリを利用するのが無難です。
アプリインストール後何日目以降とか、何回起動したら出すかとか、条件設定が可能です。
ODRefreshControl
リストビューでお馴染みの、下へ引っ張って更新をコントロールとして提供してくれるライブラリ。
たまに変な動きをするので、このライブラリがベストかはわかりませんが、色々使った中では使いやすかったです。
LKAccountPanel
これも類似のライブラリはたくさんあると思いますが、入力画面つくるの面倒だからログイン処理くらいはUIAlertViewですませたい、という私のような不精なものが利用するライブラリ。
UIAlertViewでuseridとpasswordが入力できるフォームを表示してくれます。
NimbusKit
昔はTreeというライブラリでしたが、今はNimbusKitというフレームワークになってしまいました。
確か、当初はUITableViewやUIScrollViewなど、iOSには便利なUIKitがあるんですが、いかんせん、細かいところまではカスタマイズができない。ので、自分たちなりに同じコントロールを1から作ってみた、というのが始まりだったと思います。
というわけで、もろもろのコントロールが1から作られたNimbusは隅々までカスタマイズが可能な便利フレームワークなのです。
私はこれを使って、iOS標準の写真アプリと同等のアプリを簡単に作ることができました。
新しいGoogle Mapsがこのフレームワークを利用していることで話題になりましたよね。
ZipArchive
読んで字のごとく、zipファイルの展開・圧縮をObjective-Cからつつがなく行うためのカプセルライブラリです。
zipファイルに用がない人は使うことはないでしょう。
こんなところです。
他にも面白いライブラリはたっくさんありますが、実用的なのは数が限られてくると思います。
他に良いのがあれば教えて下さい。