当我在iMessage中打开附加图像并点击“共享”按钮时,我可以看到第三方应用程序的图标,如“Path”或“Evernote”。问题是:如何将我自己的应用添加到此列表中?
答案 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密钥CFBundleTypeRole
和LSHandlerRank
指定的内容。
BTW:This excellent SO answer还有关于使用UTI的详细信息,特别是如果您需要声明自己的应用专用UTI。