我正在编写一个跟踪磁盘使用情况的应用。为此,我让用户选择驱动器(表示为以/ volume开头的URL)。我使用核心数据保存信息。现在我想实现沙盒,我不确定如何继续。没有开箱即用的权利可以让我访问这条路径。据我所知,我需要......
这有意义吗?我在这里错过了什么吗?您可以提供任何提示/提示吗?
答案 0 :(得分:2)
你的大纲是正确的。
要让用户选择驱动器,您可以创建一个以/ Volumes开头的NSOpenPanel。您可以使用委托仅允许选择该目录中的项目,因此即使用户导航,他们也无法选择其他任何内容。自定义对话框中的各种消息,使其成为“选择卷”对话框。
或者你可以为/ Volumes本身建立一个NSOpenPanel - 让你的用户授予你访问该目录的权限。如果您这样做一次然后保存书签,您的用户不应该被许多烦人的打开对话框击中。一旦您有权访问/ Volumes,您的应用就可以根据需要选择一部分卷。
警告:虽然可以访问整个目录,但如果您打算将应用程序放入App Store,您可能会发现Apple认为您向用户要求过多。您可能希望从对该目录的只读访问开始,如果他们将其重新放回到选择单个磁盘 - 只需做好准备。
您还可以将书签存储在plist(容器内)或用户默认值中,您需要确定这些书签是否比Core Data更好。
HTH