版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/shaohua_lv/article/details/78733066
- (PHImageRequestID)requestAVAssetForVideo:(PHAsset *)asset options:(nullable PHVideoRequestOptions *)options resultHandler:(void (^)(AVAsset *__nullable asset, AVAudioMix *__nullable audioMix, NSDictionary *__nullable info))resultHandler;
能取出所有的用户相册,包含iCloud的,如果本地相册没有,
requestAVAssetForVideo 取出相册为空 asset = nil; info中也会是空数据;
对于这种相册文件使用时候。需要在PHVideoRequestOptions中添加:options.networkAccessAllowed = true;
当然有一段下载时间。
PHVideoRequestOptions *options = [[PHVideoRequestOptions alloc] init];
options.version = PHImageRequestOptionsVersionCurrent;
options.deliveryMode = PHVideoRequestOptionsDeliveryModeAutomatic;
// options.networkAccessAllowed = true; // iCloud的相册需要网络许可
@MVU_WEAKIFY(self);
[[PHImageManager defaultManager] requestAVAssetForVideo:photo options:options resultHandler:^(AVAsset * _Nullable asset, AVAudioMix * _Nullable audioMix, NSDictionary * _Nullable info) {
@MVU_STRONGIFY(self);
if(![asset isKindOfClass:[AVURLAsset class]]){
return;
}
AVURLAsset *urlAsset = (AVURLAsset *)asset;
dispatch_async(dispatch_get_main_queue(), ^{
[self.navigationController pushViewController:vc animated:YES];
});
}];