如何声明 iOS 应用程序共享扩展以接受来自本机联系人应用程序的联系人

slo*_*ans 5 xcode ios

我为我的应用程序共享扩展设置了 NSExtensionActivationRule -s,以支持共享:图像、视频、文本和 URL -s。如下图所示

在此输入图像描述

我需要在此扩展中添加规则以接受来自本机联系人应用程序的联系人共享。有什么解决办法吗?

基于@Mahipal Singh 答案的解决方案

<key>NSExtension</key>
    <dict>
        <key>NSExtensionAttributes</key>
        <dict>
            <key>NSExtensionActivationRule</key>
            <string>
                SUBQUERY (
                extensionItems, $extensionItem,
                SUBQUERY (
                $extensionItem.attachments, $attachment,
                ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "public.vcard" ||
                ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "public.image" ||
                ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "public.movie" ||
                ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "public.plain-text" ||
                ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "public.url"
                ).@count == 1
                ).@count > 0
            </string>
        </dict>
        <key>NSExtensionMainStoryboard</key>
        <string>MainInterface</string>
        <key>NSExtensionPointIdentifier</key>
        <string>com.apple.share-services</string>
    </dict>
Run Code Online (Sandbox Code Playgroud)

MAh*_*ngh 6

https://forums.developer.apple.com/thread/27383

  <key>NSExtension</key>
<dict>
    <key>NSExtensionAttributes</key>
    <dict>
        <key>NSExtensionActivationRule</key>
        <string>
            SUBQUERY (
            extensionItems, $extensionItem,
            SUBQUERY (
            $extensionItem.attachments, $attachment,
            ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "public.vcard"
            ).@count >= 1
            ).@count > 0
        </string>
    </dict>
    </dict>
Run Code Online (Sandbox Code Playgroud)

请参阅文档了解可用的密钥。查找 NSExtensionActivationRule。