OSX 上 Swift 中的文件访问权限

And*_*rew 6 macos swift3

我在用着:

\n\n
let dialog = NSOpenPanel()\n
Run Code Online (Sandbox Code Playgroud)\n\n

获取文件 URL。

\n\n

然后我用以下命令读取文本文件的内容:

\n\n
let content = try String( contentsOf: dialog.url)\n
Run Code Online (Sandbox Code Playgroud)\n\n

这有效!

\n\n

然后我尝试读取同一目录中具有不同扩展名的另一个文本文件:

\n\n
let b = dialog.url?.deletingPathExtension()\n// Add the new file extension\nlet c = b?.appendingPathExtension("TSN") \n\nlet content2 = try String( contentsOf: c)\n
Run Code Online (Sandbox Code Playgroud)\n\n

有了这个我得到:

\n\n

“文件 \xe2\x80\x9cFLO5.TSN\xe2\x80\x9d 无法打开\xe2\x80\x99,因为您\xe2\x80\x99没有查看它的权限。”

\n\n

如果我尝试使用 NSOpenPanel() 对话框中的 URL 打开 .tsn 文件,结果它会起作用。我需要从同一目录打开多个具有不同扩展名的数据文件。有没有办法做到这一点?

\n

小智 6

关闭沙箱!!)Xcode 9 及更高版本默认启用沙箱,这严重限制了与系统的交互。

选择您的目标,然后选择功能并将下载文件夹设置为读/写:

在此输入图像描述