4

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

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。

有任何想法吗?

我为此问题创建了一个测试应用程序。你可以在这里得到它。

更新: 苹果开发者技术支持说:

根据工程团队的说法,这是共享服务中的一个错误。Preview 和 Finder 共享的项目是打开/选定文件的 URL。共享服务应该获取 URL 引用的文件的 UTI,并将其注册到扩展项附件的已注册类型标识符中。PDF 文件不会发生这种情况。因此,唯一注册的类型标识符是您的查询不允许的“public.file-url”(URL 的 UTI)。

http://www.openradar.me/30184633

4

0 回答 0