Paradigm Shift Design

ISHITOYA Kentaro's blog.

iOSアプリ開発者が知らないと損するライブラリ7選

こういうキャッチーな*1タイトル付けてみたかった!

tottepostの開発中に役に立ったライブラリを7つ列挙します。
かなりジャンルバラバラですが紹介&メモって事で許してください。全部tottepostで使ってます。

1, SVProgressHUD

UIActivityIndicatorViewって出したり消したりするのにインスタンスの管理が面倒で、見た目も微妙ですよね。
SVProgressHUD*2は、扱いが簡単でカッコいいUIActivityIndicatorViewです。


http://f.cl.ly/items/231Y2A0t0t1J0B0r3N0p/svprogresshud3.png:image:w600


リポジトリは、samvermette/SVProgressHUD · GitHub。ライセンスはMIT。

作者のSamさんの記事はSVProgressHUD

2, AAMFeedback

これ、まじで便利です。ユーザーからの問い合わせを受け付けるフォームです。
開発者の痒いところに手が届く感じはさすがfladdictさん。


f:id:kent013:20120310162140p:image:w200:leftf:id:kent013:20120310162139p:image:w200


しかもコードは

AAMFeedbackViewController *fv = [[AAMFeedbackViewController alloc] init];
fv.toRecipients = [NSArray arrayWithObject:@"kentaro.ishitoya@example.com"];
fv.bccRecipients = [NSArray arrayWithObject:@"ken45000@example.com"];
UINavigationController *nvc = [[UINavigationController alloc] initWithRootViewController:fv];
[self presentModalViewController:nvc animated:YES];

これだけ!


送られてくるメールは

サブジェクトは選んだトピック
フィードバック本文
Device:
iPhone 4S
iOS:
5.0.1
App:
tottepost 1.0

こういうメールになります。


リポジトリは、fladdict/AAMFeedback · GitHub。ライセンスは不明。

fladdictさんによる記事は、iPhoneアプリに、ユーザーフィードバックのフォームをつけるライブラリを書いてみた。 | fladdict

3, appirater

"Rate this app”ってアラートよく見ますよね。見ません?あれを出すライブラリです。
ユーザーがアプリを30日以上使っていて、15回以上起動していたら自動で下のようなポップアップがでてきます。


f:id:kent013:20120310163848p:image:w240


それだけでなく、ボタンを設置してそのハンドラに、

[Appirater rateApp];

のようなコードを書くと、直接AppStoreに飛んでくれます。

英語、日本語、フランス語、ドイツ語に対応しています。


リポジトリは、arashpayan/appirater · GitHub。ライセンスはMIT。

作者のArash Payanさんによる記事は、 Presenting, Appirater - Arash Payan | Blog

4, FBProgressView

iOS SDK標準のプログレスバーって、でかいですよね…

もう少し狭い領域にプログレス出したいんだけど…

もうちっとかっこいいのがほしいんだけど…

って時は、これです。


f:id:kent013:20120310163849p:image:w200


tottepostでは写真アップロードのプログレス表示に使っています。


リポジトリは、dev5tec/FBProgressView · GitHub。ライセンスはMIT。

作者のHashigami Hiroshiさんによる記事は、Cocoaの日々: [iOS] カスタムプログレスバー公開

5, HPGrowingTextView

UITextViewって文字数増えると、全部が見えなくなるし、スクロールしなきゃいけないので大きめの領域を確保しなきゃいけなくて微妙ですよね。

そこへいくと、SMSのエディットボックスは、文字数が増えるとサイズが変わって使いやすいです。


で、これ、それです。


Multi-line UITextView similar to SMS from Hans Pinckaers on Vimeo.


リポジトリは、HansPinckaers/GrowingTextView · GitHub。ライセンスはMIT。作者のHans Pinckaersさんの記事は、Multi-line/Autoresizing UITextView similar to SMS-app | Hans Pinckaers

6, FBNetworkReachability

Reachabilityライブラリ、ありますよね。
appleのやつ。正直使い勝手が悪いんですね。

Reachabilityでも同様の事はできますが、FBNetworkReachabilityはそのあたりをラップしてくれているので、とても簡単に使えます。


リポジトリdev5tec/FBNetworkReachability · GitHub。ライセンスはMIT。

作者のHashigami Hiroshiさんによる記事は、 Reachabilityがバージョンアップされて使い方が少し変更されていた - Tomute’s Notes

7, ScreenStatus

iOSは画面がロックされると、画面の向きを知る方法がなくなるんです。僕らが困るような事はもうすでに誰かが困ってる訳で。
ScreenStatusは、画面がロックされていても

UIDeviceOrientation orientation = [[UIDevice currentDevice] orientation];

ってやると、加速度センサを使って画面の向きを教えてくれます。


いや、マジ助かりました!
tottepostでは画面ロック時にインターフェースと写真を回転するのに使ってます。


作者のMitsuharu Emotoさんによる記事は、iPhone:iOS4.0の回転ロックでハマったこと | mthr Blog+

ライセンスは隣人に飯をおごる事。

しょかん

SDKもそうですが、3年前に比べると様々なライブラリが公開されていて、機能を自前で実装する前にgithubで検索すると、ある程度のライブラリは見つかるようになりました。良い時代ですね。


ただ、正直言ってそういったライブラリは、"こなれていない"ことも多くて、作者の想定した使い方をしないときちんと動かない事が多いです。
そういうライブラリに手を加えて作者にメールを送るのが昔はスタンダードでした。でもそんなの今は昔。


githubってすごいな。LinusさんLinuxよりもすごい物を世の中に出したのかもしれないと3周回遅れぐらいで思いました。
良いライブラリがあったら、教えてください。


というわけで、この記事は、@ken4500に飯をおごった事を報告する記事でした。

せんでん

これらのライブラリをすべて利用したアプリ、tottepostはAppStoreで公開しています。


また、tottepostのために作ったライブラリPhotoSubmitterも、tottepostから分離して独立させました。

是非cloneして試してみてください!


よろしくおねがいします!

*1:あざとい

*2:なんでこれをHeads Up Displayというのかは分かりません…