为什么PHAsset fetchAssetsWithOptions没有返回所有资产?

时间:2015-04-14 15:41:33

标签: ios photosframework

我的照片流中有75张照片,相机胶卷中有1张照片(不在我的照片流中)。所以我完全有76张照片。但是按照代码只返回51张照片:

    PHFetchOptions *options = [[PHFetchOptions alloc] init];
    options.sortDescriptors = @[[NSSortDescriptor sortDescriptorWithKey:@"creationDate" ascending:YES]];
    assetsFetchResults = [PHAsset fetchAssetsWithOptions:options];

我知道:

  

如果在iOS 8.1或之后链接的应用程序调用此方法,则   结果不包括从iTunes同步到设备的照片   或存储在iCloud共享照片流中的照片。

但上述照片都不是来自iCloud Shared Photo Stream。

1 个答案:

答案 0 :(得分:3)

不是最美丽的,但请尝试以下方法获取所有资产:

  NSMutableArray *_assets = [NSMutableArray new];

  PHFetchResult *fr = [PHAssetCollection fetchMomentsWithOptions:nil];
  for (PHAssetCollection *collection in fr) {

     PHFetchResult *_fr = [PHAsset fetchAssetsInAssetCollection:collection options:nil];
     for (PHAsset *asset in _fr) {

        [_assets addObject:asset];
     }
  }