菜鸟教程小白 发表于 2022-12-12 13:26:42

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


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

<p> <a href="/image/FsoLG.png" rel="noreferrer noopener nofollow"><img src="/image/FsoLG.png" alt="enter image description here"/></a> </p>

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

<p><strong>基于@Mahipal Singh 答案的解决方案</strong> </p>

<pre><code>&lt;key&gt;NSExtension&lt;/key&gt;
    &lt;dict&gt;
      &lt;key&gt;NSExtensionAttributes&lt;/key&gt;
      &lt;dict&gt;
            &lt;key&gt;NSExtensionActivationRule&lt;/key&gt;
            &lt;string&gt;
                SUBQUERY (
                extensionItems, $extensionItem,
                SUBQUERY (
                $extensionItem.attachments, $attachment,
                ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO &#34;public.vcard&#34; ||
                ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO &#34;public.image&#34; ||
                ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO &#34;public.movie&#34; ||
                ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO &#34;public.plain-text&#34; ||
                ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO &#34;public.url&#34;
                ).@count == 1
                ).@count &gt; 0
            &lt;/string&gt;
      &lt;/dict&gt;
      &lt;key&gt;NSExtensionMainStoryboard&lt;/key&gt;
      &lt;string&gt;MainInterface&lt;/string&gt;
      &lt;key&gt;NSExtensionPointIdentifier&lt;/key&gt;
      &lt;string&gt;com.apple.share-services&lt;/string&gt;
    &lt;/dict&gt;
</code></pre></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p> <a href="https://forums.developer.apple.com/thread/27383" rel="noreferrer noopener nofollow">https://forums.developer.apple.com/thread/27383</a> </p>

<pre><code>&lt;key&gt;NSExtension&lt;/key&gt;
&lt;dict&gt;
    &lt;key&gt;NSExtensionAttributes&lt;/key&gt;
    &lt;dict&gt;
      &lt;key&gt;NSExtensionActivationRule&lt;/key&gt;
      &lt;string&gt;
            SUBQUERY (
            extensionItems, $extensionItem,
            SUBQUERY (
            $extensionItem.attachments, $attachment,
            ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO &#34;public.vcard&#34;
            ).@count &gt;= 1
            ).@count &gt; 0
      &lt;/string&gt;
    &lt;/dict&gt;
    &lt;/dict&gt;
</code></pre>

<p>见 <a href="https://developer.apple.com/library/content/documentation/General/Conceptual/ExtensibilityPG/ExtensionScenarios.html" rel="noreferrer noopener nofollow">documentation</a>对于可用的键。寻找 NSExtensionActivationRule。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 如何声明 iOS 应用程序共享扩展以接受来自 native 联系人应用程序的联系人,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/44047368/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/44047368/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 如何声明 iOS 应用程序共享扩展以接受来自 native 联系人应用程序的联系人