requestAVAssetForVideo 取出相簿檔案為空
阿新 • • 發佈:2018-11-01
- (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];
});
}];