【问题标题】:Finder Sync with App Sandbox OFF not workingFinder Sync with App Sandbox OFF 不起作用
【发布时间】:2018-01-01 23:11:05
【问题描述】:

我创建了一个简单的 Finder Sync (FinderSync) 扩展 (appex),它默认带有应用沙盒 ON(在 .entitlements com.apple.security.app-sandbox 中为 true)。

一切正常,但我需要通过此扩展程序访问 macOS 上的特定文件夹,而我无法在 Sandbox 开启的情况下执行此操作。

我禁用了沙盒,但扩展程序不再在 Finder 中加载。 对此有什么想法吗?任何解决方法?

【问题讨论】:

  • 您是否在系统偏好设置 -> 扩展中看到您的插件?如果是这样,当您尝试启用插件时是否有任何控制台消息?
  • @dejuknow stackoverflow.com/a/31265260/1889814 使用了这个,如果启用了权利中的沙箱选项,它就会安装。如果未启用,则插件不会运行 / 附加到 Finder 进程。 (尝试多次重新启动 Finder,仅适用于沙箱)。 imgur.com/a/ij3ER
  • 当我从 XCode 中停止它时,它会从系统偏好设置 -> 扩展中消失。
  • iirc,Finder Sync 扩展必须是沙盒。如果没有沙盒,我相信您会在控制台中看到一条错误消息。您需要使用临时授权来访问沙盒之外的文件(这意味着您无法将应用提交到 App Store)。见stackoverflow.com/questions/30276155/…
  • @dejuknow 这在某处有记录吗?我不想将它发送到应用商店。您可以将其发布为您对我的问题的回答。

标签: cocoa sandbox finder appstore-sandbox findersync


【解决方案1】:

Finder Sync 扩展程序必须经过沙盒处理。我在任何地方都找不到明确记录此要求,但如果没有沙盒,系统日志中会出现以下错误:

pkd[255]:忽略 /Applications/Liferay\ Sync.app/Contents/PlugIns/LiferayFinderSync.appex 中配置错误的插件:插件必须经过沙盒处理

如果您需要访问应用程序容器之外的文件夹,可以使用temporary exception entitlements,例如“com.apple.security.temporary-exception.files.home-relative-path.read-only”。请注意,使用这些权利提交到 Mac App Store 的应用程序可能会被拒绝。

【讨论】:

  • 重要提示,如果您发现自己经常杀死 Finder 而无法加载插件,请不要这样做。修复权限。
猜你喜欢
  • 1970-01-01
  • 2022-01-11
  • 2011-10-19
  • 2017-04-22
  • 1970-01-01
  • 2021-06-30
  • 2014-07-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多