Я думаю, что вам лучше всего использовать метод
getBytes:fromOffset:length:error:
из
ALAssetRepresentation
Вы можете получить представление актива по умолчанию, например,
ALAssetRepresentation *representation = [someVideoAsset defaultRepresentation];
Итак, у меня в голове должно быть что-то вроде этого ( Я не в своем Mac, так что этот не был проверен )
ALAssetsLibrary *assetLibrary=[[ALAssetsLibrary alloc] init];
[assetLibrary assetForURL:videoUrl resultBlock:^(ALAsset *asset) {
ALAssetRepresentation *rep = [asset defaultRepresentation];
Byte *buffer = (Byte*)malloc(rep.size);
NSUInteger buffered = [rep getBytes:buffer fromOffset:0.0 length:rep.size error:nil];
NSData *data = [NSData dataWithBytesNoCopy:buffer length:buffered freeWhenDone:YES];
[data writeToFile:filePath atomically:YES];
} errorBlock:^(NSError *err) {
NSLog(@"Error: %@",[err localizedDescription]);
}];
Где videoUrl - это URL ресурса видео, которое вы пытаетесь скопировать, а filePath - это путь, куда вы пытаетесь его сохранить.