5

最近添加的集合有一个子类型:PHAssetCollectionSubtypeSmartAlbumRecentlyAdded. 但是,没有 assetCollectionSubtype可以识别“最近删除”的集合。

这是对我的“最近删除”集合的描述: (iOS 8.1.3): DF876BFD-...-C97F4628467C/L0/040 Recently Deleted assetCollectionType=2/1000000201

这表明它是 type PHAssetCollectionTypeSmartAlbum。但是 subtype 到底是1000000201什么?

201应该PHAssetCollectionSubtypeSmartAlbumPanoramas根据文档。

1000000201可以相信这个神奇的数字永远不会改变吗?可能不是。

但是,您可以通过以下方式检索最近删除的集合:

PHFetchResult *smartAlbums = [PHAssetCollection fetchAssetCollectionsWithType:PHAssetCollectionTypeSmartAlbum subtype:1000000201 options:nil];

这张特殊的智能相册有一个主要区别:PHAssets 不能(再次)删除,因为这是垃圾箱。因此,必须知道是否应该向用户显示删除选项。

有人有想法吗?

4

1 回答 1

-1

关于挑选“最近删除”的集合,这里有一个解决方法。

PHFetchResult *smartAlbums = [PHAssetCollection fetchAssetCollectionsWithType:PHAssetCollectionTypeSmartAlbum
                                                                      subtype:PHAssetCollectionSubtypeAlbumRegular
                                                                      options:nil];

__block PHAssetCollection *recentlyDeletedCollection;
[smartAlbums enumerateObjectsUsingBlock:^(PHAssetCollection *smartAlbum, NSUInteger idx, BOOL *stop) {
    if ([smartAlbum.localizedTitle isEqualToString:@"Recently Deleted"]) {
        NSLog(@"Recently Deleted album is at %ld", idx);
        recentlyDeletedCollection = smartAlbums[idx];
    }
}];
于 2016-02-06T04:43:24.217 回答