iOS共享扩展:需要通过我的共享扩展共享所有pdf文件,包括web链接pdf文件

时间:2016-03-04 10:12:00

标签: ios objective-c ios8-share-extension

我需要通过我的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文件,通过共享扩展程序进行共享,包括网址和内容。?

1 个答案:

答案 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>