我的应用程序在iMessage UIActivityViewController中

rud*_*nsm 5 ios imessage

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

在此输入图像描述

her*_*ube 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>
Run Code Online (Sandbox Code Playgroud)

使用此片段(特别是使用LSItemContentTypes密钥),您声明您的应用程序是具有统一类型标识符(UTI)的文档的编辑器public.jpeg.因为系统声明了这个UTI,所以我认为没有必要在你的应用程序中包含UTI声明Info.plist.

您可以在名为System-Declared Uniform Type Identifiers的Apple文档中找到所有系统声明的UTI .如果您是UTI的新手,您可能还应该阅读Apple文档统一类型标识符概念.

最后但并非最不重要的,不要忘了咨询信息属性列表键参考找出你应该指定什么的核心基础键CFBundleTypeRoleLSHandlerRank.

顺便说一句:这个优秀的SO答案还包含有关使用UTI的详细信息,特别是如果您需要声明自己的应用程序特定的UTI.