在 Safari 中长按 link 打开的共享菜单中未显示应用程序图标
App icon not shown in Safari in the share menu opened by a long press on a link
我的应用有一个扩展。此扩展在 Safari 中可用。当我使用 Safari 分享按钮时
然后它会打开一个共享面板,我的应用程序图标就在那里。但是,如果我在 Safari 中按住 link 几秒钟,然后弹出以下警报 ,然后我点击 Share...
按钮,然后它会打开一个类似的共享面板,我看到那里是 Facebook 和 Twitter 图标,但我的应用程序图标丢失了。有人知道如何让它出现在那个共享面板中吗?
这是我点击 "Share..." 按钮时打开的内容:
我找到了解决办法。在我的扩展程序的 plist 中有一个名为 NSExtensionActivationRule
的键。它属于 NSExtensionAttributes
字典,而后者又属于 NSExtension
字典。所以 NSExtensionActivationRule
的值对我来说如下所示:
<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"
).@count >= 1
).@count >= 1</string>
据我所知,这是 $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "public.plain-text"
行,它发挥了所有的作用。
完整的 NSExtension
词典如下所示:
<key>NSExtension</key>
<dict>
<key>NSExtensionAttributes</key>
<dict>
<key>NSExtensionActivationDictionaryVersion</key>
<integer>2</integer>
<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"
).@count >= 1
).@count >= 1</string>
<key>NSExtensionActivationUsesStrictMatching</key>
<integer>2</integer>
</dict>
<key>NSExtensionMainStoryboard</key>
<string>MainInterface</string>
<key>NSExtensionPointIdentifier</key>
<string>com.apple.share-services</string>
</dict>
我的应用有一个扩展。此扩展在 Safari 中可用。当我使用 Safari 分享按钮时
然后它会打开一个共享面板,我的应用程序图标就在那里。但是,如果我在 Safari 中按住 link 几秒钟,然后弹出以下警报 Share...
按钮,然后它会打开一个类似的共享面板,我看到那里是 Facebook 和 Twitter 图标,但我的应用程序图标丢失了。有人知道如何让它出现在那个共享面板中吗?
这是我点击 "Share..." 按钮时打开的内容:
我找到了解决办法。在我的扩展程序的 plist 中有一个名为 NSExtensionActivationRule
的键。它属于 NSExtensionAttributes
字典,而后者又属于 NSExtension
字典。所以 NSExtensionActivationRule
的值对我来说如下所示:
<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"
).@count >= 1
).@count >= 1</string>
据我所知,这是 $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "public.plain-text"
行,它发挥了所有的作用。
完整的 NSExtension
词典如下所示:
<key>NSExtension</key>
<dict>
<key>NSExtensionAttributes</key>
<dict>
<key>NSExtensionActivationDictionaryVersion</key>
<integer>2</integer>
<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"
).@count >= 1
).@count >= 1</string>
<key>NSExtensionActivationUsesStrictMatching</key>
<integer>2</integer>
</dict>
<key>NSExtensionMainStoryboard</key>
<string>MainInterface</string>
<key>NSExtensionPointIdentifier</key>
<string>com.apple.share-services</string>
</dict>