如何让我的应用程序出现在UIActivityViewController中以获取文本?

时间:2014-02-10 20:23:44

标签: ios uiactivityviewcontroller info.plist uti

我希望我的应用可以在UIActivityViewController中显示在其他应用中的文字中。例如,从Notes应用程序共享时,如下所示。

enter image description here

将以下内容添加到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>

这可能吗?怎么样?

2 个答案:

答案 0 :(得分:8)

简短的回答:你做不到。

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

你可能指的是UIDocumentInteractionController,它是不同的,你可以添加你的应用程序,我相信你正确地这样做。

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

要添加的快速注释:区分UIActivityViewControllersUIDocumentInteractionController的好方法是查看“Dropbox”是否出现在其中。根据我的经验,Dropbox应用程序有一个“全能型”UTI,可以接收任何文件,因此它通常出现在几乎所有UIDocumentInteractionController中。当然,您需要安装应用程序

答案 1 :(得分:1)

plist错了,请参阅此答案:Why is my iOS app not showing up in other apps' "Open in" dialog?但对我而言,您似乎尚未在LSHandlerRank中设置plist。< / p>

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