ios – PHAsset fetchAssetsWithMediaType:PHAssetMediaTypeVideo不返回任何视频

编辑从标题中删除版本,但这始于iOS 8.1

我有一个应用程序,我已经建立了将播放用户Photos.app的视频.当我在8.0.2设备上安装应用程序时,我从[PHAsset fetchAssetsWithMediaType:options:]调用回来的视频列表没有问题,但是当我在8.1设备上安装完全相同的代码时,我得到了0个视频返回.有没有人碰到这个? 8.1是否改变了我们应该再次从Photos.app访问照片/视频的方式?

PHFetchOptions *options = [[PHFetchOptions alloc] init];
PHFetchResult *videos = [PHAsset fetchAssetsWithMediaType:PHAssetMediaTypeVideo options:options];

任何帮助,将不胜感激.

更新

修改了我的代码以使用PHAssetCollection调用来尝试获取相册,我获得了一些成功,现在在两个版本中我获得了6个视频中的3个(不幸的是每次都不是3个).

PHFetchResult *collection = [PHAssetCollection fetchAssetCollectionsWithType:PHAssetCollectionTypeAlbum subtype:PHAssetCollectionSubtypeAlbumSyncedAlbum options:options];
PHFetchResult *videos = [PHAsset fetchKeyAssetsInAssetCollection:collection[0] options:nil];

编辑#2

好吧,我刚刚在上面的代码中看到了我的错误,我将它留给那些做同样愚蠢的事情的人.我的视频获取行正在调用“关键”资产,这就是为什么我只得到3.

PHFetchResult *collection = [PHAssetCollection fetchAssetCollectionsWithType:PHAssetCollectionTypeAlbum subtype:PHAssetCollectionSubtypeAlbumSyncedAlbum options:options];
PHFetchResult *videos = [PHAsset fetchAssetsInAssetCollection:collection[0] options:nil];

最佳答案 自我回答所以,如果有其他人遇到这个问题,他们可能会有答案.

所以我仍然不确定为什么我的原始代码在升级到8.1之后无法正常工作,但我在Edit#2中的代码通过向另一个方向进行解决问题.

PHFetchResult *collection = [PHAssetCollection fetchAssetCollectionsWithType:PHAssetCollectionTypeAlbum subtype:PHAssetCollectionSubtypeAlbumSyncedAlbum options:options];
PHFetchResult *videos = [PHAsset fetchAssetsInAssetCollection:collection[0] options:nil];
点赞