You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在iOS分享扩展SUBQUERY中排除非图片视频的其他文件类型

iOS分享扩展激活规则优化:仅接受图片/视频且限制总数4个

当前你的激活规则只限制了视频和图片的单类型数量,但没有过滤掉非图片/视频的附件,导致PDF等文件仍会唤起扩展。需要修改规则,确保所有附件只能是图片或视频,同时保留总数不超过4、视频最多2个、图片最多2个的限制。

修改后的完整激活规则如下:

<key>NSExtensionAttributes</key>
<dict>
    <key>NSExtensionActivationRule</key>
    <string>
        SUBQUERY (
            extensionItems,
            $extensionItem,
            SUBQUERY(
                $extensionItem.attachments,
                $attachment,
                ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "public.image"
                OR ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "public.movie"
            ).@count == $extensionItem.attachments.@count
            AND
            SUBQUERY(
                $extensionItem.attachments,
                $attachment,
                ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "public.movie"
            ).@count <= 2
            AND
            SUBQUERY(
                $extensionItem.attachments,
                $attachment,
                ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "public.image"
            ).@count <= 2
            AND
            $extensionItem.attachments.@count <= 4
        ).@count >= 1
    </string>
</dict>

关键修改说明:

  • 新增SUBQUERY(...).@count == $extensionItem.attachments.@count:确保当前extensionItem下的所有附件都是图片或视频,彻底排除PDF等其他类型
  • 保留原有的视频≤2、图片≤2的限制,同时新增$extensionItem.attachments.@count <=4强化总数限制(作为双重保障)
  • 外层SUBQUERY确保至少有一个符合条件的extensionItem存在

内容的提问来源于stack exchange,提问作者Samuël

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 10:45:46