在我的macOS应用中,我正在尝试使用以下扩展名创建目录
extension URL {
static func createFolder(folderName: String, folderPath:URL) -> URL? {
let fileManager = FileManager.default
let folderURL = folderPath.appendingPathComponent(folderName)
// If folder URL does not exist, create it
if !fileManager.fileExists(atPath: folderURL.path) {
do {
// Attempt to create folder
// try fileManager.createDirectory(at: folderURL, withIntermediateDirectories: true, attributes: nil)
// try fileManager.createDirectory(atPath: folderURL.path, withIntermediateDirectories: true, attributes: nil)
try fileManager.createDirectory(atPath: folderURL.relativePath, withIntermediateDirectories: true, attributes: nil)
} catch {
print(error.localizedDescription + ":\(folderURL.path)")
return nil
}
}
return folderURL
}
}
当我调用此调用时,会给我错误
您无权将“ FolderName”文件保存在文件夹中 “ SelectedFolder”。:/用户/ USERNAME /工作区/ SelectedFolder / FolderName
我看过类似的post,并尝试了所有方法,但仍然给我错误,我在这里遗漏了什么吗?感谢您的帮助
答案 0 :(得分:2)
我假设您的应用已沙箱化。因此,您无权为要尝试的位置写文件夹。
如果不打算用于沙盒,则可以禁用“应用沙盒”,可以通过单击项目文件>目标名称,选择功能选项卡并关闭“应用沙盒”将其关闭。
文件系统编程指南:Prometheus
您也可以在安全范围内的书签中查找持久性资源。
此处的文档:
答案 1 :(得分:0)
这似乎是文件夹名称设置不合理
USERNAME似乎有点奇怪
如果您将其显式设置为真实的东西,那么您知道会发生什么?