兩種方式:
1.我一開(kāi)始用的
ps:和注釋說(shuō)的一樣 此方法 無(wú)法加載iCloud上的視頻或者圖片

2.經(jīng)過(guò)我的研究?jī)?yōu)化 原格式視頻直接導(dǎo)出 最終版本

研究了一下午 以此記錄,好用點(diǎn)個(gè)贊再走!轉(zhuǎn)發(fā)請(qǐng)標(biāo)明出處??!
下面直接cv:
[[PHImageManager defaultManager] requestExportSessionForVideo:model.asset options:[self getVideoRequestOptions] exportPreset:AVAssetExportPresetHighestQuality resultHandler:^(AVAssetExportSession *_Nullable exportSession, NSDictionary *_Nullable info) {
//? ? ? ? NSString *outputPath = [self getVideoOutputPath];
//? ? ? ? exportSession.outputURL = [NSURL fileURLWithPath:outputPath];
//? ? ? ? exportSession.shouldOptimizeForNetworkUse = NO;
//? ? ? ? exportSession.outputFileType = AVFileTypeMPEG4;
//? ? ? ? if (!CMTimeRangeEqual(timeRange, kCMTimeRangeZero)) {
//? ? ? ? ? ? exportSession.timeRange = timeRange;
//? ? ? ? }
//? ? ? ? [exportSession exportAsynchronouslyWithCompletionHandler:^{
//? ? ? ? ? ? if (success) {
//? ? ? ? ? ? ? ? success(outputPath);
//? ? ? ? ? ? }
//? ? ? ? }];
? ? ? ? AVURLAsset*urlAsset = (AVURLAsset*)exportSession.asset;
? ? ? ? NSURL*url = urlAsset.URL;
? ? ? ? NSLog(@"%@",url);
? ? ? ? NSData *data = [NSData dataWithContentsOfURL:urlAsset.URL];
? ? ? ? NSString*savePath = [selfgetVideoOutputPath:url.pathExtension];
? ? ? ? [datawriteToFile:savePathatomically:YES];
? ? ? ? // 回到主線(xiàn)程
? ? ? ? dispatch_async(dispatch_get_main_queue(), ^{
? ? ? ? ? ? // n秒后執(zhí)行
? ? ? ? ? ? dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(3 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
? ? ? ? ? ? ? ? // 需要延遲執(zhí)行的代碼
? ? ? ? ? ? ? ? if(success) {
? ? ? ? ? ? ? ? ? ? success(savePath);
? ? ? ? ? ? ? ? }
? ? ? ? ? ? });
? ? ? ? });
? ? }];