4

我的照片流中有 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 共享照片流。

4

1 回答 1

4

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

  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];
     }
  }
于 2015-06-11T22:35:23.220 回答