4 permissions macos cocoa swift
我正在努力使用以下代码在macOS上的用户下载目录中简单地创建一个文件夹:
static func createFolderInDownloadsDirectory() {
let downloadsDirectory = FileManager.default.urls(for: .downloadsDirectory, in: .userDomainMask).first!
let downloadsDirectoryWithFolder = downloadsDirectory.appendingPathComponent("FolderToCreate")
do {
try FileManager.default.createDirectory(at: downloadsDirectoryWithFolder, withIntermediateDirectories: true, attributes: nil)
} catch let error as NSError {
print(error.localizedDescription)
}
}
Run Code Online (Sandbox Code Playgroud)
这是输出:
You don’t have permission to save the file “FolderToCreate” in the folder “Downloads”.
Run Code Online (Sandbox Code Playgroud)
我怎样才能解决这个问题?
Xcode 9和更高版本默认情况下启用沙箱,这严重限制了与系统的交互。但是,您仍然可以通过向应用程序添加权利来写入“下载”文件夹:
选择您的目标,然后选择功能,然后将下载文件夹设置为读/写:
如果您无意通过Mac App Store分发应用程序,则可以关闭沙箱。您的应用程序仍然可以签名,但是用户首次启动您的应用程序时会收到警告。