iOS8 上的应用扩展限制

Posted

技术标签:

【中文标题】iOS8 上的应用扩展限制【英文标题】:App extension on iOS8 limits 【发布时间】:2014-10-07 09:26:49 【问题描述】:

最近,我一直在对 ios 8 共享扩展进行简单的研究,以了解系统的工作原理并找出此功能的限制。 我意识到当前文档https://developer.apple.com/library/ios/documentation/General/Conceptual/ExtensibilityPG/index.html 只是一个初步文档。 我有几个关于 iOS8 应用扩展的一般限制/可能性的问题:

苹果是否为共享数据指定了一些大小限制? 我能否 100% 确定只有我的应用程序才能启动指定的应用程序扩展程序? phonegap 会支持应用扩展吗?

【问题讨论】:

【参考方案1】:

对于您的第二个问题,我们不能 100% 确定只有您的应用才能在完全由用户控制的指定应用扩展上启动 但我们可以控制您希望在哪些文档上显示您的应用扩展关注Declaring Supported Data Types for a Share or Action Extension

在键 NSExtensionActivationRule 下为写入谓词自定义文档类型 例如:对于 pdf、image 和 excel 文档,我做了以下谓词,最大文档数量为 1。

<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 "com.adobe.pdf"
                    || ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "public.image"
                    || ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "public.plain-text"
                    || ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "public.png"
                    || ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "public.jpeg"
                    || ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "public.jpeg-2000"
           || ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "com.microsoft.excel.xls"
           || ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO   "org.openxmlformats.spreadsheetml.sheet"
            )
).@count == $extensionItem.attachments.@count
).@count == 1</string>

【讨论】:

以上是关于iOS8 上的应用扩展限制的主要内容,如果未能解决你的问题,请参考以下文章

我无法满足今天 IOS 8 扩展中的限制

iOS 8 键盘扩展 - UIInputViewController 无法添加多个视图 [关闭]

iOS8扩展插件开发配置

iOS8 扩展:将 CoreData 与包含的应用程序同步

这今天扩展(iOS8)可能吗?

为啥我的 iOS8 应用程序操作扩展应用程序图标不显示?