этот код работает и сохраняет загруженный файл в фотопленку, если файл является изображением, но не сохраняет его, если это видеофайл.
- (void)URLSession:(NSURLSession *)session downloadTask:(NSURLSessionDownloadTask *)downloadTask didFinishDownloadingToURL:(NSURL *)location {
NSData * data = [NSData dataWithContentsOfURL:location];
UIImage * image = [UIImage imageWithData:data];
UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil);
UISaveVideoAtPathToSavedPhotosAlbum(location.path, self, @selector(video:didFinishSavingWithError: contextInfo:), nil);
dispatch_async(dispatch_get_main_queue(), ^{
[self.ProgressView setHidden:NO];
});
}
когда я получаю путь к загруженному файлу, это такой временный файл:
/private/var/mobile/Containers/Data/Application/DE97D98D-760F-48DC-AFBB-C61C5E3185A0/tmp/CFNetworkDownload_5DOCCe.tmp
и я думаю, что, поскольку UISaveVideoAtPathToSavedPhotosAlbum хочет сохранить путь к целевому видео, причина, по которой это не работает, заключается в том, что он не может получить доступ к видеофайлу внутри .tmp
пожалуйста помоги! это было довольно давно, я борюсь с этим.