1

我编写了一个简短的 swift 代码来向 finder 添加一个按钮,该按钮通过系统touch调用在当前目录中创建一个新的空白文件。该扩展程序可以正常获取当前目录(通过FIFinderSyncController.defaultController().targetedURL()),但该touch命令由于沙盒而失败。如何请求写入权限?我的代码不会触发用户选择的文件选项。

4

3 回答 3

1

您应该能够使用此处所述的临时异常权利。更具体地说,两个权利之一应该是足够的:

com.apple.security.temporary-exception.files.home-relative-path.read-write com.apple.security.temporary-exception.files.absolute-path.read-write

如文档中所述,如果您计划将应用提交到 App Store,则应提交需要临时例外权利的原因。(我从来没有经历过这个过程,所以我不确定这个过程是怎样的)。

于 2016-04-27T01:24:48.130 回答
1

据我所知,这在 Finder 同步扩展中是不可能的。但是,作为解决方法,您可以将此功能转移到主应用程序 - 首先要求用户将启用功能的驱动器拖动到应用程序主窗口,保存安全书签,然后将命令从 Finder 扩展发送到主应用程序。

于 2016-02-22T16:51:30.293 回答
0

据我所知,这是不可能的,此外,这不是 Finder 同步扩展的目的。苹果在这里说:

确保 Finder Sync 扩展点适合您计划提供的功能。最好的 Finder 同步扩展支持将本地文件夹的内容与远程数据源同步的应用程序。Finder Sync 并非用于修改 Finder 用户界面的通用工具。

如果您想修改 Finder 以达到您的目的,您必须:

  • 使用临时例外权利,这实际上会导致您的应用程序被拒绝;或者
  • 重新考虑你的方法

我建议后者。Apple 在每次发布时都越来越难以修改系统(无论好坏)。如果您需要此功能,请提交请求它的错误报告。

于 2016-04-27T02:18:57.977 回答