>嗯,的确是比较蛋疼的问题。
背景: 实况图片(livephoto)后缀 .HEIC,它是由一张图片和一个视频,通过H265编码出来的质量超小的一种图片。
- (PHImageRequestID)requestImageForAsset:(PHAsset*)assettargetSize:(CGSize)targetSizecontentMode:(PHImageContentMode)contentModeoptions:(nullable PHImageRequestOptions*)optionsresultHandler:(void(^)(UIImage*_Nullable result,NSDictionary*_Nullable info))resultHandler;
这个方法中用到了返回的 获取图片返回数据中仅存在几个bool 类型的key而已,并没有ios13版本升级之前相关的PHImageFileURLKey.
问题总有解决的办法:
1 PHAsset 这个类里面的属性:
1._directory 代表文件夹
2._filename 代表文件名及其类型
那么自己取出来拼接一下就好了
[NSString stringWithFormat:@"/var/mobile/Media/%@/%@",[model.asset valueForKey:@"_directory"],[model.asset valueForKey:@"_filename"]]
2 这个就比较简单了
[phasset requestContentEditingInputWithOptions:nilcompletionHandler:^(PHContentEditingInput *_NullablecontentEditingInput, NSDictionary *_Nonnullinfo) {
NSLog(@"contentEditingInput.fullSizeImageURL= %@",contentEditingInput.fullSizeImageURL);
}];
获取的地址之后,改一下后缀名就可以得到相应的视频和图片。分类上传或者编辑,想干嘛就干嘛!!!!
网友评论