La exportación de video usando PhotoKit (PHAsset) proporciona diferentes archivos de video cada vez

Utilizo el método (al final de esta pregunta) para recuperar video del dispositivo. Lo que hace es encontrar el primer video en la biblioteca, crea una sesión de exportación y exporta el video a un archivo MOV.

Después de dos ejecuciones de la aplicación (deteniendo la aplicación entre ejecuciones de métodos), se comparan dos archivos resultantes. Ambos archivos son diferentes. Esperaba que ambos archivos fueran iguales, ya que se está exportando el mismo activo.

Una observación más: ejecutar el método dos veces en la misma aplicación me da dos archivos idénticos como se esperaba.

¿Es posible hacer que PhotoKit exporte el mismo archivo cada vez que se ejecuta?

- (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);
         }];
     }];
}

Respuestas a la pregunta(1)

Su respuesta a la pregunta