Assets Library フレームワークを使用した無料アプリをリリースしました
大量の画像をダーッと見るための高速画像ビューアです。
『i走馬灯』
※無料です
Assets Library というiOS4から追加されたフレームワークを使用して、フォトライブラリの中身をまるっと取得することで、高速スライドショーを可能にしています。
Assets Libraryまわりの実装
Assets Libraryまわりの実装は全面的にこちらの書籍のKatokichiSoftさんのサンプルを参考にさせていただきました。
畑 圭輔 加藤 寛人 坂本 一樹 藤川 宏之 高橋 啓治郎 沖田 知彦 柳澤 昇
インプレスジャパン
売り上げランキング: 283,100
インプレスジャパン
売り上げランキング: 283,100
グループリストを取得
ALAssetsLibraryGroupsEnumerationResultsBlock resultBlock = ^(ALAssetsGroup *assetsGroup, BOOL *stop) { if (assetsGroup) { [self.items addObject:assetsGroup]; } else { // 収集完了 [self.myTableView performSelectorOnMainThread:@selector(reloadData) withObject:nil waitUntilDone:NO]; } };
グループ内のアセットを取得
ALAssetsGroup *group = (ALAssetsGroup *)[self.items objectAtIndex:indexPath.row]; [group setAssetsFilter:[ALAssetsFilter allPhotos]]; NSEnumerationOptions options = 0; ALAssetsGroupEnumerationResultsBlock resultBlock = ^(ALAsset *asset, NSUInteger index, BOOL *stop) { if (asset) { [assets addObject:asset]; } else { // グループ収集完了 } }; [group enumerateAssetsWithOptions:options usingBlock:resultBlock];
課題など
土日だけの個人制作のため、細かいところまでは作り込めていません。対応は未定ですが、気になっているところをピックアップしておきます。
・速度
高速高速とはいったものの、画像サイズが大きめだとあんまり速くありません。
サイズを小さくしてキャッシュ、といった処理が必要そうです。
そもそもAssetの取得処理の中身を理解してないので、そこらへんに改善手段があるかもしれません。
・使い勝手
ランダム、巻き戻し(逆方向再生)、お気に入りとか。
・市場調査
似たようなアプリがあるのかないのか、まったく調べておりません。