快速删除文件夹路径

时间:2020-02-26 17:56:30

标签: swift xcode macos

当我调用此函数时,我希望能够删除“ 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 :(得分:0)

直接在目录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)
}

答案 1 :(得分:-1)

您的代码将清除folderPath-如清空它,但不会删除folderPath本身:)

如Mojtaba所说,使用try fm.removeItem(atPath: folderPath)删除文件夹


请注意,您的应用程序不能被沙箱化-是Mac还是ios应用程序
ios模拟器应该可以工作! :)因为实际上并没有像设备那样检查权限;)


该代码很好,如果我使用它,它对我也有用:)