7

我正在尝试全盘访问,但无法正常工作。这是我执行的步骤列表:

  1. 沙盒已打开。事实上,权利文件看起来像:
<key>com.apple.security.app-sandbox</key>
<true/>
<key>com.apple.security.files.bookmarks.app-scope</key>
<true/>
<key>com.apple.security.files.user-selected.read-write</key>
<true/>
  1. 我创建了应用程序的存档并尝试使用开发人员 ID开发方法分发它
  2. 我将我的应用程序的二进制文件放在/Applications文件夹中
  3. 我去了System Preferences -> Security & Privacy -> Privacy -> Full Disk Access并在/Applications文件夹中添加了对我的应用程序的访问权限
  4. 当然,我没有使用Xcode附加到应用程序

我正在 Xcode 11 和 Catalina 上对其进行测试。这是一个虚拟应用程序,打开NSOpenPanel让用户选择要解压缩的档案并尝试在同一目录中解压缩它。

其实这不是关于NSOpenPanel,问题是:

使用全磁盘访问制作沙盒应用程序需要做什么?

有什么提示吗?我做错什么了吗?

4

1 回答 1

2

这是为 iTerm2 找到的解决方案(值得一读如何找到解决方案)。它只是将其添加到应用程序 plist 中:

<key>NSSystemAdministrationUsageDescription</key>
<string>I want to read all your files</string>

文档有点模糊。

遗憾的是,这个解决方案不适用于launchctld守护进程(这是我需要的)。我认为守护进程是一个例外,因为它根本看不到 UI。

但是对于常规应用程序,它应该像魅力一样工作(尚未测试)。

于 2020-02-07T16:37:19.990 回答