[サンプルコード] Twitter プロフィールイメージのキャッシュ保存処理 [iOS SDK]

いりブログ

iOS6 SDKが発表され開発者がこぞってiOS6 のローンチ(立ち上げ)日に間に合わせようと息巻いている2012年6月ですが、こちらはiOS5 で追加されたTwitter のサポート機能を使ったプロジェクトです。


機能としては、Twitter の画像アカウントをiOSアプリケーションで利用できるテンポラリフォルダを使って気楽に管理しようというものです。テンポラリフォルダはOSによって任意のタイミングでファイルをファイルが消されるためネットワーク越しにダウンロードしたファイルを保存するにはうってつけの場所です。
ネットワークからダウンロードした一時フォルダを利用する場合の手順は、ファイルの有無を確認、存在するなら読み込み、存在しないならネットワークから読み込んだ上で保存することになります。この時気を付けるのはプロフィールイメージなど画像の場合は読み込み処理も並列して行う必要があります。


Twitter のプロフィールイメージはユーザによって書き換えられている可能性があります。既に格納されている画像があっても経過時間などを見て読み込むなどの対処が必要になってきます。


上記の処理を管理してくれるクラスとして、ProfileImageStore クラスを作成しました。iOS5 とそれ以降のSDK で有効。ARC が必要、プロジェクトが非ARCでもProfileImageStore.h を有効にすれば利用できます。
クラス内ではFileベース版とCoreDataベース版が含まれています。CoreData版はTwitter クライアントのような頻繁にアイコンを参照する場合、File版は設定画面など更新頻度が低い場合に利用すると便利となっております。


GitHubに公開しています。以下のURLから確認ください。

TwitterProfileImageCache

https://github.com/notoroid/TwitterProfileImageCache