I'm trying to remove a file from the documents directory using FileManager.default.removeItem
but is not deleting the file on the simulator. Here is my code:
if let dir = fileManager.urls(for: .documentDirectory, in: .userDomainMask).first {
do{
let path = dir.appendingPathComponent(file).absoluteString
do{
try FileManager.default.removeItem(atPath:path)
}catch{
print(error)
}
}
}
But I always fails. Any of you knows why it fails?
You can write like this:
var filemanager = FileManager.default
let documentsPath = NSSearchPathForDirectoriesInDomains(.documentDirectory,.userDomainMask,true)[0] as NSString
let destinationPath = documentsPath.appendingPathComponent("Filename.jpg")
try! filemanager.removeItem(atPath: destinationPath)
absoluteString
is the wrong API, the correct property for the file://
scheme is path
.
The best solution is to use the URL related API
let fileURL = dir.appendingPathComponent(file)
...
try FileManager.default.removeItem(at: fileURL)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With