>嗯赊级,的確是比較蛋疼的問(wèn)題。
背景: 實(shí)況圖片(livephoto)后綴 .HEIC,它是由一張圖片和一個(gè)視頻凉翻,通過(guò)H265編碼出來(lái)的質(zhì)量超小的一種圖片。
- (PHImageRequestID)requestImageForAsset:(PHAsset*)assettargetSize:(CGSize)targetSizecontentMode:(PHImageContentMode)contentModeoptions:(nullable PHImageRequestOptions*)optionsresultHandler:(void(^)(UIImage*_Nullable result,NSDictionary*_Nullable info))resultHandler;
這個(gè)方法中用到了返回的?獲取圖片返回?cái)?shù)據(jù)中僅存在幾個(gè)bool 類型的key而已捻激,并沒(méi)有ios13版本升級(jí)之前相關(guān)的PHImageFileURLKey.
問(wèn)題總有解決的辦法:
1 PHAsset 這個(gè)類里面的屬性:
1._directory 代表文件夾
2._filename 代表文件名及其類型
那么自己取出來(lái)拼接一下就好了
?[NSString stringWithFormat:@"/var/mobile/Media/%@/%@",[model.asset valueForKey:@"_directory"],[model.asset valueForKey:@"_filename"]]
?2 這個(gè)就比較簡(jiǎn)單了?
?[phasset requestContentEditingInputWithOptions:nilcompletionHandler:^(PHContentEditingInput *_NullablecontentEditingInput, NSDictionary *_Nonnullinfo) {
? ? ? ? NSLog(@"contentEditingInput.fullSizeImageURL= %@",contentEditingInput.fullSizeImageURL);
? ? ?}];
獲取的地址之后制轰,改一下后綴名就可以得到相應(yīng)的視頻和圖片前计。分類上傳或者編輯,想干嘛就干嘛@取D需尽!调俘!