удалить папку swift с путем - PullRequest
       0

удалить папку swift с путем

0 голосов
/ 26 февраля 2020

когда я вызываю эту функцию, я хотел бы иметь возможность удалить папку «DerivedData», я использую другой путь в качестве доказательства, но он все равно не работает. соответствующая папка не удаляет ее и выдает ошибку, к которой у меня нет доступа

func clearTempFolder() {
    let fm = FileManager.default
    do {
        let folderPath = "/Users/stefano/Desktop/prova"
        let paths = try fm.contentsOfDirectory(atPath: folderPath)
        for path in paths
        {
            try fm.removeItem(atPath: "\(folderPath)/\(path)")
        }
    } catch {
        print(error.localizedDescription)
    }
}

Ответы [ 2 ]

0 голосов
/ 26 февраля 2020

используйте функцию removeItem непосредственно для самого каталога URL:

и помните, что каталог должен находиться в песочнице приложения. Итак:

let paths = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)
let documentsDirectory = paths.first!
print(documentsDirectory) // This is where you should store your app data

let urlPath = documentsDirectory.appendingPathComponent("DirectoryToDelete") // Assuming the directory exist at that path  
do {
    try FileManager.default.removeItem(at: urlPath)
} catch {
    print(error)
}
0 голосов
/ 26 февраля 2020

ваш код очистит folderPath - как в пустом, но не удалит сам folderPath:)

, чтобы удалить папку, используйте try fm.removeItem(atPath: folderPath), как сказал Mojtaba


Обратите внимание, что Ваше приложение не может быть помещено в «песочницу» - будь то приложение ma c или ios Симулятор ios должен работать, хотя! :) Поскольку проверка прав доступа не выполняется, как это делает устройство;)


Код в порядке и работает для меня, если я играю на нем :))

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...