【问题标题】:How can I make my app appear in UIActivityViewController for text?如何让我的应用出现在 UIActivityViewController 中以显示文本?
【发布时间】:2014-03-08 08:56:15
【问题描述】:

我希望我的应用出现在 UIActivityViewController 的文本中,在其他应用中。例如,当从 Notes 应用共享时,如下所示。

将以下内容添加到 Info.plist 并没有产生任何可见的结果(在 Notes、Evernote 和 Simplenote 中):

<key>CFBundleDocumentTypes</key>
<array>
    <dict>
        <key>CFBundleTypeIconFiles</key>
        <array>
            <string>icon-text-57.png</string>
            <string>icon-text-72.png</string>
            <string>icon-text-114.png</string>
        </array>
        <key>CFBundleTypeName</key>
        <string>Text</string>
        <key>LSHandlerRank</key>
        <string>Alternate</string>
        <key>LSItemContentTypes</key>
        <array>
            <string>public.text</string>
            <string>public.plain-text</string>
            <string>public.utf8-plain-text</string>
            <string>public.utf16-external-plain-​text</string>
            <string>public.utf16-plain-text</string>
            <string>public.rtf</string>
        </array>
    </dict>
</array>

这可能吗?怎么样?

【问题讨论】:

    标签: ios uiactivityviewcontroller info.plist uti


    【解决方案1】:

    简短的回答:你不能。

    目前,您无法将您的应用添加到其他 UIActivityViewControllers,除非您创建自己的 UTI 并且该应用(Notes、Evernote 和 Simplenote)将代码添加到他们的应用中以显示您的。

    不过,您可能指的是UIDocumentInteractionController,这是不同的,您可以在那里添加您的应用程序,我相信您这样做是正确的。

    你正在尝试的东西都是UIActivityViewControllers所以无论你怎么努力,你的应用都不会出现在那里。

    快速添加说明:区分UIActivityViewControllersUIDocumentInteractionController 的一个好方法是查看其中是否出现“Dropbox”。根据我的经验,Dropbox 应用程序具有“包罗万象”的 UTI,并且可以获取任何文件,因此它通常出现在几乎所有 UIDocumentInteractionController 中。当然,您需要安装应用程序

    【讨论】:

    • 这仍然是真的吗?也许我误解了您的答案,但我在第二行图标上以普通的UIActivityViewController 看到“保存到 Dropbox”。我希望我的应用出现在它旁边,它与 UIDocumentInteractionController 一起出现,但不是在 UIActivityViewController 中与 Dropbox 一起出现。
    • @TimCamber 好点。此信息在 iOS 8 中已过时,其中添加了共享扩展并且是正确的方法。我会更新答案。
    【解决方案2】:

    您的plist 是错误的,请参阅此答案:Why is my iOS app not showing up in other apps' "Open in" dialog? 但对我来说,您似乎还没有在plist 中设置LSHandlerRank

    另外:确保您遵循 Apple 自己的文档:https://developer.apple.com/library/ios/documentation/FileManagement/Conceptual/DocumentInteraction_TopicsForIOS/Articles/RegisteringtheFileTypesYourAppSupports.html

    【讨论】:

    • 等等!你为什么要在 CFBundleTypeIconFiles 之后完成你的数组?
    • Xcode 补充说。添加图标似乎没有任何区别。我将编辑问题。
    • 尝试使用纯文本进一步定义您的类型:public.plain-text
    • 等等,我想我已经解决了,你有没有试过我用除了笔记以外的任何其他应用程序?我不相信笔记“分享”纯文本。我怎么知道?我刚刚尝试分享笔记中的内容,但没有其他应用可以打开它,我知道我有可以打开纯文本的应用。
    • 在重新启动设备后尝试了更多(请参阅编辑的问题)。没有区别。
    猜你喜欢
    • 2021-12-03
    • 1970-01-01
    • 2016-09-07
    • 2015-05-01
    • 2021-11-12
    • 1970-01-01
    • 1970-01-01
    • 2014-09-21
    • 2023-02-04
    相关资源
    最近更新 更多