我正在开发一个应用程序,我想访问/User/<username>/Library/Containers
文件夹来读取一些数据。
迭代文件时,在我在该特定位置打开NSOpenPanel
之前,不会返回任何数据。这种行为是可以预期的,因为应用程序是沙箱化的。
我安装了另一款名为&#34; AppManager&#34; (沙盒,可在App Store中找到)。该应用程序还会读取该文件夹中的数据,但我只需打开NSOpenPanel
文件夹中的/Applications
。
我读到了FileManager
方法URLForDirectory:inDomain:appropriateForURL:create:error:
,这似乎是一个很好的起点,但不知怎样,这种方法不可用?
沙盒应用如何(如果可能)可以在不打开/User/<username>/Library/Containers
的情况下获得对NSOpenPanel
的访问权限?我只能打开一个NSOpenPanel
吗?
此致 的Sascha
答案 0 :(得分:2)
如果没有NSOpenPanels
或拖动您应用中的目录,您就无法执行任何操作 - 这是一项安全措施,因此App Store应用不会删除不属于他们的数据
我看到程序要求用户只需选择/
中的NSOpenPanel
即可访问整个驱动器。再次,最好只询问你真正需要的东西,因为你可能没有过去的评论。有些应用只是有一个单独的用户界面,要求用户NSOpenPanel
为他们提供一些目录,并且在你这样做之前不要继续。