FileManager.default.removeItem
を使用してドキュメントディレクトリからファイルを削除しようとしていますが、シミュレータでファイルを削除していません。これが私のコードです:
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)
}
}
}
しかし、私はいつも失敗します。なぜ失敗するのか知っている人はいますか?
あなたはこのように書くことができます:
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
は間違ったAPIであり、file://
スキームの正しいプロパティはpath
です。
最善の解決策は、URL関連のAPIを使用することです
let fileURL = dir.appendingPathComponent(file)
.。
try FileManager.default.removeItem(at: fileURL)