Экспорт видео с помощью PhotoKit (PHAsset) каждый раз дает разные видеофайлы
Я использую метод (конец этого вопроса), чтобы получить видео с устройства. Что он делает, он находит первое видео в библиотеке, создает сеанс экспорта и экспортирует видео в файл MOV.
После двух запусков приложения (остановка приложения между запусками метода) сравниваются два результирующих файла. Оба файла разные. Я ожидал, что оба файла будут одинаковыми, так как экспортируется один и тот же ресурс.
Еще одно замечание: запуск метода дважды в одном и том же запуске приложения дает мне два идентичных файла, как и ожидалось
Можно ли заставить PhotoKit экспортировать один и тот же файл при каждом запуске?
- (void)testVideoRetrievalSO {
PHAsset *oneVideo = [[PHAsset fetchAssetsWithMediaType:PHAssetMediaTypeVideo options:nil] firstObject];
PHVideoRequestOptions *options = [[PHVideoRequestOptions alloc] init];
options.networkAccessAllowed = YES;
options.deliveryMode = PHVideoRequestOptionsDeliveryModeHighQualityFormat;
options.version = PHVideoRequestOptionsVersionOriginal;
[[PHImageManager defaultManager] requestExportSessionForVideo:oneVideo
options:options
exportPreset:AVAssetExportPresetPassthrough
resultHandler:
^(AVAssetExportSession * _Nullable exportSession, NSDictionary * _Nullable info) {
NSLog(@"Video test run on asset %@", oneVideo.localIdentifier);
NSString *folderPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES).firstObject;
NSString *fileName = [[[NSUUID UUID] UUIDString] stringByAppendingPathExtension:@"mov"];
NSString *tempFile = [folderPath stringByAppendingPathComponent:fileName];
NSURL *tempFileUrl = [NSURL fileURLWithPath:tempFile];
[exportSession setOutputFileType:AVFileTypeQuickTimeMovie];
[exportSession setOutputURL:tempFileUrl];
[exportSession exportAsynchronouslyWithCompletionHandler:^{
NSLog(@"Video test run exported video into file: %@", tempFile);
}];
}];
}