requestAVAssetForVideo 取出相册文件为空

版权声明:本文为博主原创文章,未经博主允许不得转载。 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];
                    });
                }];

猜你喜欢

转载自blog.csdn.net/shaohua_lv/article/details/78733066