当select多个相同types时,操作扩展激活规则谓词不隐藏操作

您好,我正在尝试使动作扩展到只与一个单一的GIF文件。 这里是我的代码(使用Apple的文档中提供的代码片断创build的:

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

这个扩展应该是在Photos应用程序内工作,我已经尝试了多个场景:单个GIF文件,单个非GIF文件,多个非GIF文件,GIF和非GIF文件的混合,以及多个GIF文件。

除了多个GIF文件,所有上述scheme都可以工作 – 如果我select多个项目,则会重新显示该操作。

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

从debugging代码,它似乎是一个附加一堆的单个扩展项目。 所以要只支持一个附件,你需要做以下的事情:

用@replace$ extensionItem.attachments。@ count。

如果您select了多个1 GIF文件,这应该隐藏您的扩展名。