次のコードでアセット ライブラリにクエリを実行しています
ALAssetsLibrary *assetsLibrary = [self defaultAssetsLibrary];
[assetsLibrary enumerateGroupsWithTypes:ALAssetsGroupAll usingBlock:^(ALAssetsGroup *group, BOOL *stop) {
NSMutableArray *tmpAssets = [@[] mutableCopy];
[group enumerateAssetsUsingBlock:^(ALAsset *result, NSUInteger index, BOOL *stop) {
if(result)
{
[tmpAssets addObject:result];
}
}];
NSSortDescriptor *sort = [NSSortDescriptor sortDescriptorWithKey:@"date" ascending:NO];
finished([[tmpAssets sortedArrayUsingDescriptors:@[sort]] mutableCopy]);
} failureBlock:^(NSError *error) {
finished(@[]);
NSLog(@"Error loading images %@", error);
}];
ただし、すべてのアセットを取得していないようです。外部ソースから iPhone に画像を追加すると、これらは上記のコードから受け取ったアセットのリストに表示されません...他のすべてのように見えるものを取得していますが. フレームワークの制限ではないかと思いましたが、instagram を使用すると、アプリにない写真が表示されていることに気付きました...どのようにすべてのタイプのアセット "ALassetsGroupAll" を取得するのに十分ではありませんか?