我的应用程序在iMessage UIActivityViewController中

时间:2013-04-13 19:30:28

标签: ios imessage

当我在iMessage中打开附加图像并点击“共享”按钮时,我可以看到第三方应用程序的图标,如“Path”或“Evernote”。问题是:如何将我自己的应用添加到此列表中?

enter image description here

1 个答案:

答案 0 :(得分:6)

您需要向应用添加文档类型,而不是URL方案。尝试将以下片段添加到Info.plist

<key>CFBundleDocumentTypes</key>
<array>
    <dict>
        <key>CFBundleTypeName</key>
        <string>public.jpeg</string>
        <key>CFBundleTypeRole</key>
        <string>Editor</string>
        <key>LSHandlerRank</key>
        <string>Owner</string>
        <key>LSItemContentTypes</key>
        <array>
            <string>public.jpeg</string>
        </array>
    </dict>
</array>

使用此片段(特别是使用LSItemContentTypes键),您声明您的应用程序是具有统一类型标识符(UTI)public.jpeg的文档的编辑器。由于系统声明了此UTI,因此我认为您不必在应用的Info.plist中包含UTI声明。

您可以在标题为System-Declared Uniform Type Identifiers的Apple文档中找到所有系统声明的UTI。如果您是UTI的新手,您可能还应阅读Apple文档Uniform Type Identifier Concepts

最后但同样重要的是,请不要忘记咨询Information Property List Key Reference,了解您应为Core Foundation密钥CFBundleTypeRoleLSHandlerRank指定的内容。

BTW:This excellent SO answer还有关于使用UTI的详细信息,特别是如果您需要声明自己的应用专用UTI。