我需要通过我的Share扩展分享来自其他应用程序的pdf文件。在我的分享扩展程序中,我正在使用此NSExtensionActivationRule
<key>NSExtensionActivationRule</key>
<string>SUBQUERY (
extensionItems,
$extensionItem,
SUBQUERY (
$extensionItem.attachments,
$attachment,(
ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "com.adobe.pdf";
|| ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "public.url";
).@count == $extensionItem.attachments.@count
).@count == 1
</string>
对于URL内容,我能够在其他应用程序的所有激活控制器中看到我的应用程序图标。但我只需要为PDF网址激活扩展程序。
我是否可以创建NSExtensionActivationRule
,可以选择所有pdf文件,通过共享扩展程序进行共享,包括网址和内容。?
答案 0 :(得分:0)
我能够通过在Info.plist
中使用以下子查询来获取我的共享扩展来识别PDF,图像,GIF和纯文本:
<key>NSExtensionActivationRule</key>
<string>SUBQUERY (
extensionItems,
$extensionItem,
SUBQUERY (
$extensionItem.attachments,
$attachment,
ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "public.url" ||
ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "public.plain-text" ||
ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "public.image" ||
ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "com.compuserve.gif"
).@count == $extensionItem.attachments.@count
).@count == 1
</string>