IOS Share扩展:如何从notes帖子中阅读

Posted

技术标签:

【中文标题】IOS Share扩展:如何从notes帖子中阅读【英文标题】:IOS Share extension: how to read from notes posts 【发布时间】:2015-12-31 15:19:17 【问题描述】:

我希望我的应用程序能够解析笔记应用程序帖子以及其他文本编辑器帖子中的文本,因此我创建了一个共享扩展目标。一切正常,直到我准备发布应用程序,将 TRUEPREDICATE 替换为 NSExtensionActivationRule.

假设,在我的共享扩展目标中,我应该将 NSExtensionActivationSupportsText 键添加到 info.plist 中的 NSExtensionActivationRule,我这样做了,但我的应用扩展仍然没有显示在共享表中。

根据https://developer.apple.com/library/ios/documentation/General/Conceptual/ExtensibilityPG/ExtensionScenarios.html,我的 info.plist 应该包含这个:

<key>NSExtensionAttributes</key>
<dict>
   <key>NSExtensionActivationRule</key>
   <dict> 
        <key>NSExtensionActivationSupportsText</key>
        <integer>1</integer>
   </dict>
</dict>

我也尝试启用其他类型,如附件、文件、网页,但没有效果。

【问题讨论】:

你是在模拟器上运行吗?,你也有以下键集 NSExtensionPointIdentifier 到 com.apple.share-services 【参考方案1】:

至少在 iOS 9 中,正确的代码是

<dict>
    <key>NSExtensionActivationSupportsText</key>
    <true/>
</dict>

作为参考,这通常是文本共享扩展支持所希望的:

<key>NSExtensionAttributes</key>
<dict>
    <key>NSExtensionActivationUsesStrictMatching</key>
    <integer>2</integer>
    <key>NSExtensionActivationRule</key>
    <dict>
        <key>NSExtensionActivationDictionaryVersion</key>
        <integer>2</integer>
        <key>NSExtensionActivationSupportsText</key>
        <true/>
    </dict>
</dict>

【讨论】:

只有“NSExtensionActivationSupportsText”不起作用,但添加“NSExtensionActivationDictionaryVersion”对我有用。谢谢! 我面临同样的问题。即使添加了“NSExtensionActivationSupportsText”和“NSExtensionActivationDictionaryVersion”,它也不起作用。添加两个应用后,我的应用未在备注中的共享表下列出。 NSExtensionActivationDictionaryVersion 有效。奇怪,我添加了developer.apple.com/library/archive/documentation/General/…中的所有键,没有字典版本,它仍然没有出现在笔记中。所以我的结论是整个列表没有正确记录。 @DGoogly 我也很困惑,然后在我的例子中,通过删除值 2 的条目 NSExtensionActivationSupportsAttachmentsWithMaxCount 解决了这个问题。

以上是关于IOS Share扩展:如何从notes帖子中阅读的主要内容,如果未能解决你的问题,请参考以下文章

iOS扩展开发攻略Share Extension

share_item 扩展权限

带有 iOS 共享表的帖子归属地

如何以编程方式从ios中的照片中删除图像?

如何在 iOS 共享扩展中获取屏幕截图?

在 iOS 中显示来自 JSON 的 wordpress 帖子