Как сохранить файл в каталоге «Загрузки»IOS

Программируем под IOS
Ответить
Anonymous
 Как сохранить файл в каталоге «Загрузки»

Сообщение Anonymous »

Моему приложению необходимо сохранять mp3 в каталог загрузок iPhone
Я попробовал этот код:

Код: Выделить всё

  func saveTrack(trackurl: String, name: String) {
let url = URL(string: trackurl)!

// create directory path
let dir_path = FileManager.default.urls(for: .downloadsDirectory, in: .userDomainMask).first!
.appendingPathComponent("tiktokMusic", isDirectory: true)

// check if directory exists
if !FileManager.default.fileExists(atPath: dir_path.path) {
print("file doesn't exist atPath: \(dir_path.path)")
do {
try FileManager.default.createDirectory(atPath: dir_path.path, withIntermediateDirectories: true)
}
catch let error {
print("Error creating \(dir_path.path) --- \(error))")
}
}

let trackPath = dir_path.appendingPathComponent("track.mp3")

do {
let data = try? Data(contentsOf: url)
if let data {
try data.write(to: trackPath)
print("Saved")
} else {
print("data = nil")
}
} catch let error {
print("Error: \(error)")
}
}
Но это не работает
Ошибка:

Код: Выделить всё

"You don’t have permission to save the file “tiktokMusic” in the folder “Downloads”
Я добавил все соответствующие сведения о конфиденциальности в info plst, но ошибка все равно остается.
.documentDirectory работает хорошо, но как пользователь может найти и использовать скачал мп3?
p.s. я знаю об активности основного потока, разберусь с этим позже
Помогите, я изучил весь интернет!

Подробнее здесь: https://stackoverflow.com/questions/791 ... -directory
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»