我的应用程序里面的iMessage UIActivityViewController

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

在这里输入图像说明

您需要将文档types添加到您的应用程序,而不是URLscheme。 尝试将以下片段添加到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键),您声明您的应用程序是具有统一types标识符(UTI) public.jpeg文档的编辑器。 由于这个UTI是由系统声明的,我相信你没有必要在你的应用程序的Info.plist包含UTI声明。

您可以在Apple文档中find所有系统声明的UTI,名称为“ 系统声明的统一types标识符” 。 如果你是UTI新手,你应该也可以阅读苹果文档统一types标识符概念 。

最后但并非最不重要的是,不要忘记查阅信息属性列表键参考 ,找出你应该为核心基础键CFBundleTypeRoleLSHandlerRank指定什么。

顺便说一句: 这个优秀的答案还有关于使用UTI的细节,特别是如果你需要声明你自己的应用程序特定的UTI。