在 Sandbox 中获得对 /User/Library/Container/<identifier> 的访问权限
Gaining access to /User/Library/Container/<identifier> in Sandbox
我正在开发一个应用程序,我想访问 /User/<username>/Library/Containers
文件夹以读取一些数据。
遍历文件时,在我打开该特定位置的 NSOpenPanel
之前,不会返回任何数据。这种行为是意料之中的,因为应用程序是沙盒的。
我安装了另一个名为 "AppManager" 的应用程序(沙盒,在 App Store 中可用)。该应用程序还从该文件夹中读取数据,但我只需打开 /Applications
文件夹中的 NSOpenPanel
。
我读到了 FileManager
方法 URLForDirectory:inDomain:appropriateForURL:create:error:
这似乎是一个很好的起点,但不知何故这个方法不可用?
沙盒应用如何(如果可能)在不打开 NSOpenPanel
的情况下获得对 /User/<username>/Library/Containers
的访问权限?我可以通过只打开一个目录来访问多个目录吗NSOpenPanel
?
此致,
萨沙
如果不在您的应用程序上 NSOpenPanels
或拖动目录,您将无法执行任何操作 - 这是一项安全措施,因此 App Store 应用程序不会丢弃不属于它们的数据
我看到程序要求用户在 NSOpenPanel
中 select /
才能访问整个驱动器。同样,最好只询问您真正需要的东西,因为您可能无法通过审核。有些应用程序只有一个单独的 UI 来要求用户为它们 NSOpenPanel
一些目录,并且在您这样做之前不要继续。
我正在开发一个应用程序,我想访问 /User/<username>/Library/Containers
文件夹以读取一些数据。
遍历文件时,在我打开该特定位置的 NSOpenPanel
之前,不会返回任何数据。这种行为是意料之中的,因为应用程序是沙盒的。
我安装了另一个名为 "AppManager" 的应用程序(沙盒,在 App Store 中可用)。该应用程序还从该文件夹中读取数据,但我只需打开 /Applications
文件夹中的 NSOpenPanel
。
我读到了 FileManager
方法 URLForDirectory:inDomain:appropriateForURL:create:error:
这似乎是一个很好的起点,但不知何故这个方法不可用?
沙盒应用如何(如果可能)在不打开 NSOpenPanel
的情况下获得对 /User/<username>/Library/Containers
的访问权限?我可以通过只打开一个目录来访问多个目录吗NSOpenPanel
?
此致, 萨沙
如果不在您的应用程序上 NSOpenPanels
或拖动目录,您将无法执行任何操作 - 这是一项安全措施,因此 App Store 应用程序不会丢弃不属于它们的数据
我看到程序要求用户在 NSOpenPanel
中 select /
才能访问整个驱动器。同样,最好只询问您真正需要的东西,因为您可能无法通过审核。有些应用程序只有一个单独的 UI 来要求用户为它们 NSOpenPanel
一些目录,并且在您这样做之前不要继续。