授予OSX沙盒查找器同步扩展持久写访问权限

时间:2016-02-22 15:16:24

标签: swift macos sandbox findersync

我写了一个简短的快速代码,向查找程序添加一个按钮,通过系统touch调用在当前目录中创建一个新的空白文件。扩展程序使当前目录正常(通过FIFinderSyncController.defaultController().targetedURL()),但touch命令由于沙盒而失败。如何申请写访问权限?我的代码未触发用户选择的文件选项。

3 个答案:

答案 0 :(得分:1)

您应该能够使用here所述的临时例外权利。更具体地说,两种权利中的一种就足够了:

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

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

据我所知,这是不可能的,此外,这不是Finder同步扩展的目的。 Apple称here表示:

  

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

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

  • 使用临时例外权利,事实上会导致您的应用被拒绝;或
  • 重新思考你的方法

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

相关问题