xcode - 在沙箱处于事件状态的 Mac OS X 中写入文件夹

标签 xcode cocoa permissions directory sandbox

我使用 Cocoa Desktop 在 Xcode 中创建了一个小应用程序,该应用程序必须在当前用户的 Mac OS X 桌面中创建一个文件夹

当我运行应用程序而不使用该应用程序时,会在桌面上正确创建一个沙箱文件夹

如果我使用沙箱放置正确的文件进行读/写,我无法在桌面上创建文件夹

有谁知道如何解决这个问题,因为将应用程序发送到AppStore需要使用沙箱?

最佳答案

无论您是否使用沙箱,您都不应该只在桌面上创建一个文件夹。而是使用配置为选择文件夹的 NSOpenPanel 并要求用户提供要使用的文件夹。这与开放应用程序和沙盒应用程序兼容。

在沙盒世界中,一旦您向用户询问文件夹,您就可以创建一个安全范围书签并将其保存在您的应用程序首选项中;在后续运行中,您可以使用该书签重新建立访问该文件夹的权限,而无需用户干预。例如。浏览器可能会要求访问一个文件夹来存储下载,然后将安全范围的书签保存到该文件夹​​。

HTH

关于xcode - 在沙箱处于事件状态的 Mac OS X 中写入文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19255161/

相关文章:

ios - 如何更改 Flutter 中的 ios 模拟器?

Xcode 内置代码片段编辑

jenkins slave 以用户身份运行

node.js - gyp WARN EACCES 用户 "root"没有访问开发目录的权限

linux - SVN权限,一组带rw,一组用户带r

xcode - 如何从 Swift 中的函数返回 boolean 值

ios - 如何在 Xcode 6 上对应用程序扩展进行单元测试

cocoa - 如何在 cocoa 中重新定位 mac 桌面

Swift - 在 NSTableView 中使用复选框获取行索引

xcode - 如何在 OSX 应用程序中使用 Kiwi 单元测试库?