选择多个相同类型时,动作扩展激活规则谓词不会隐藏动作
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 文件,这应该会隐藏您的扩展程序。
您好,我正在尝试使操作扩展仅适用于单个 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 文件,这应该会隐藏您的扩展程序。