沙箱自定义qlgenerator(快速查看)插件

时间:2014-04-14 11:15:24

标签: macos cocoa plugins quicklook

如何在小牛上使用沙盒快速浏览插件?

目前正在获取以下错误消息:

2014-04-14 16:26:50.507 qlmanage[5601:303] *** CFMessagePort: bootstrap_register(): failed 1100 (0x44c) 'Permission denied', port = 0x8b13, name = 'com.apple.tsm.portname'
See /usr/include/servers/bootstrap_defs.h for the error codes.

2014-04-14 16:26:50.512 qlmanage[5601:303] *** CFMessagePort: bootstrap_register(): failed 1100 (0x44c) 'Permission denied', port = 0x3f0f, name = 'com.apple.CFPasteboardClient'
See /usr/include/servers/bootstrap_defs.h for the error codes.

2014-04-14 16:26:50.512 qlmanage[5601:303] Failed to allocate communication port for com.apple.CFPasteboardClient; this is likely due to sandbox restrictions

以下权利是在Xcode的“代码签名权利”构建设置中定义的,仍然在上面的错误消息中观察到:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>com.apple.security.app-sandbox</key>
    <true/>
    <key>com.apple.security.temporary-exception.mach-lookup.global-name</key>
    <array>
        <string>com.apple.CFPasteboardClient</string>
        <string>com.apple.tsm.portname</string>
    </array>
</dict>
</plist>

2 个答案:

答案 0 :(得分:0)

虽然这不能解决原始问题,但我还是对2019年独立QuickLook插件开发的当前状态进行了一些更新,当我得到这个答案时,可以节省很多时间。

  • com.apple.tsm.portname错误仍然存​​在,但是一旦将插件安装在Library/Quicklook位置之一中,似乎就不会引起问题。该插件仍然可以使用。
  • 如果您正在开发一个独立的插件(不在应用程序内部),您甚至没有权利,所以请不要与那些插件搞混以解决此问题。
  • 如果使用qlmanage -p <file>数据表示形式(kUTTypeHTML有效),至少在Mojave中使用kUTTypeRTF进行的调试似乎已完全中断(除了在{Library}下复制插件的情况下,没有任何显示)它将正常工作...
  • 仍然无法使用Swift来实现生成器(最后一个官方提供的动机是缺乏ABI稳定性(大声笑)

答案 1 :(得分:-2)

Quicklook插件不支持授权。

您可以尝试手动修改沙箱配置文件并尝试更改规则。

quicklook的沙盒配置文件位于/usr/share/sandbox,您可以在其中查看quicklook-satellite.sbquicklookd.sb个人资料。

我希望这些信息能为您提供帮助。

我的outlook 2011 quicklook插件出了点问题,我解决了修改uicklook-sa​​tellite.sb的问题

您可以帮助查看此文档:FGOUTLOOK2011Manual.pdf