- (void)getURLofPHAsset:(PHAsset *)asset completionHandler:(void (^)(NSURL *assetURL))completionBlock
{
if (asset.mediaType == PHAssetMediaTypeImage) {
PHContentEditingInputRequestOptions *options = [[PHContentEditingInputRequestOptions alloc] init];
options.canHandleAdjustmentData = ^BOOL(PHAdjustmentData *adjustmentData) { return YES; };
[asset requestContentEditingInputWithOptions:options completionHandler:^(PHContentEditingInput * _Nullable contentEditingInput, NSDictionary * _Nonnull info) {
NSURL *assetURL_ = contentEditingInput.fullSizeImageURL;
completionBlock(assetURL_);
}];
}else if (asset.mediaType == PHAssetMediaTypeVideo) {
PHVideoRequestOptions *options = [[PHVideoRequestOptions alloc] init];
options.version = PHVideoRequestOptionsVersionOriginal;
[[PHImageManager defaultManager] requestAVAssetForVideo:asset options:options resultHandler:^(AVAsset * _Nullable avAsset, AVAudioMix * _Nullable audioMix, NSDictionary * _Nullable info) {
if ([avAsset isKindOfClass:[AVURLAsset class]]) {
AVURLAsset *urlAsset = (AVURLAsset *)avAsset;
if (urlAsset) {
completionBlock(urlAsset.URL);
}else{
completionBlock(nil);
}
}else{
completionBlock(nil);
}
}];
}
}
最終更新:2018年02月02日 13:11