最近,我一直在对iOS 8共享扩展进行简单的研究,以了解系统的工作原理并找出这些功能的限制。 我意识到目前的文件https://developer.apple.com/library/ios/documentation/General/Conceptual/ExtensibilityPG/index.html只是一份初步文件。 我对iOS8 app扩展的一般限制/可能性有一些疑问:
答案 0 :(得分:0)
对于您的第二个问题,我们无法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>