Swift macOS的桌面沙箱问题

时间:2018-07-12 16:36:43

标签: swift macos appstore-sandbox

我最近一直在尝试编写Mac应用程序,但遇到了问题。这不是太重要,但是有一个解决方案会很棒。

我必须在运行时加载由用户指定的图像(因此,不能,我不能按照很多的替代建议将图像嵌入到捆绑包中),然后使用NSAttributedText将其嵌入到NSTextView中。图像可以从“图片”目录(/ Users / USERNAME / Pictures / IMAGE)等加载,但不能从桌面加载。我已经检查了Xcode中的“功能”标签,并为所有可用选项启用了“读/写”功能:image

使用FileManager,我确定该文件确实存在,但不可读。我可以在“权利”文件中手动设置吗?

谢谢。

1 个答案:

答案 0 :(得分:3)

不,您不能。如果将应用程序沙盒化,则无法直接使用标准桌面。具有相应权利的仅标准DownloadsPicturesMusicMovies文件夹可以访问。

有两个选项可以访问其他文件夹,但是在所有情况下,用户必须选择一次

  • 打开/保存对话框以临时访问(如果设置了适当的权利)。
  • 用于永久访问的安全范围书签,但是在这种情况下,用户必须首先通过“打开/保存”对话框选择一次文件夹,并且必须以编程方式创建安全范围书签。