选择多个相同类型时,动作扩展激活规则谓词不会隐藏动作

Action Extension activation rule predicate doesn't hide the action when multiple of the same type is selected

您好,我正在尝试使操作扩展仅适用于单个 GIF 文件。这是我的代码(使用 Apple 文档中提供的代码片段创建:

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

此扩展应该在照片应用程序中运行,我已经尝试了多种情况:单个 GIF 文件、单个非 GIF 文件、多个非 GIF 文件、GIF 和非 GIF 文件的混合以及多个 GIF 文件.

除了多个 GIF 文件之外,上述所有方案都有效 - 如果我 select 多个项目,该操作会重新出现。

我希望该动作仅在我使用单个 GIF 时出现。我上面的谓词做错了什么?

从调试代码来看,它似乎是一个带有一堆附件的扩展项。因此,要仅支持一个附件,您需要执行以下操作:

将 $extensionItem.attachments.@count 替换为 1.

如果您选择超过 1 个 GIF 文件,这应该会隐藏您的扩展程序。