ios - 我在 iMessage 中的应用程序 UIActivityViewController

标签 ios imessage

<分区>

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

enter image description here

最佳答案

您需要向您的应用添加文档类型,而不是 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 指定什么。

顺便说一句:This excellent SO answer还包含有关使用 UTI 的详细信息,尤其是当您需要声明自己的应用特定 UTI 时。

关于ios - 我在 iMessage 中的应用程序 UIActivityViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15991990/

相关文章:

iOS7 条码扫描器 API 添加零到 UPCA 条码格式

ios - 检测传入的iMessage消息或文本消息-iOS

ios - iMessage 应用程序 - 以编程方式从 .apng 创建动画贴纸

ios - 在 iMessage 扩展中发送图像

ios - 如何以编程方式检查电子邮件是否已通过 imessage 激活?

ios - 为什么我无法将子 Pane plist 文件粘贴到 Xcode 4.3.3 中项目的 Settings.bundle 文件夹中?

ios - Provisioning Profile 中的 XCode 8 更新未反射(reflect)出来

ios - 以编程方式检查联系人的 iMessage 支持

iphone - 无法从字符串转换日期

ios - 无法分配给属性 : 'b0' is a get-only property