Я экспортирую музыкальный файл из музыкальной библиотеки Apple в свой документ с этим кодом:
func exportMusic(_ filename: String,_ dir: String,_ assetURL: URL, completionHandler: @escaping (_ fileURL: URL?, _ error: Error?) -> ()) {
let asset = AVURLAsset(url: assetURL)
guard let exporter = AVAssetExportSession(asset: asset, presetName: AVAssetExportPresetAppleM4A) else {
completionHandler(nil, ExportError.unableToCreateExporter)
return
}
print(exporter.supportedFileTypes)
if !self.createDirectory(dir) {
completionHandler(nil, ExportError.unableToCreateExporter)
return
}
let fileURL = self.fixPath
.appendingPathComponent("\(dir)/")?
.appendingPathComponent(filename)
.appendingPathExtension("m4a")
exporter.outputURL = fileURL
exporter.outputFileType = AVFileType(rawValue: "com.apple.m4a-audio")
exporter.exportAsynchronously {
if exporter.status == .completed {
completionHandler(fileURL, nil)
} else {
completionHandler(nil, exporter.error)
}
}
}
enum ExportError: Error {
case unableToCreateExporter
}
Это нормально, но когда я открываю этот музыкальный файл, все музыкальные метаданные, такие как обложка, название песни, название альбома и исполнитель были удалены.
Как экспортировать музыкальный файл со всеми метаданными?