macOS共享扩展:NSExtensionActivationRule PDF谓词不起作用

时间:2017-01-10 05:31:19

标签: macos cocoa share share-extension

我正在编写一个带有共享扩展程序的Mac应用程序。用户可以选择单个pdf文档,单击共享按钮并选择我的扩展名。但是,我的扩展程序没有显示,我认为它与 info.plst 中的NSExtensionActivationRule键有关。我使用谓词语句只允许我的扩展程序在用户选择一个PDF文档时显示。有关如何在Apple docs中执行此操作的示例:

SUBQUERY (
    extensionItems,
    $extensionItem,
    SUBQUERY (
        $extensionItem.attachments,
        $attachment,
        ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "com.adobe.pdf"
    ).@count == $extensionItem.attachments.@count
).@count == 1

如果我为TRUEPREDICATE设置NSExtensionActivationRule,但只能使用Preview.app。

有什么想法吗?

我为此问题创建了一个测试应用。你可以得到它here

更新 Apple Developer Technical Support说:

  

根据工程团队的说法,这是共享服务中的一个错误。   Preview和Finder共享的项目是指向的URL   打开/选择的文件。共享服务应该获得UTI   URL引用的文件,并在扩展名中注册   item attachment的registeredTypeIdentifiers。这不会发生   用于PDF文件。因此,唯一注册的类型标识符是   " public.file-URL" (查询不允许的URL的UTI)。

http://www.openradar.me/30184633

0 个答案:

没有答案