我希望我的应用可以在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>
这可能吗?怎么样?
答案 0 :(得分:8)
简短的回答:你做不到。
目前,您无法将应用添加到其他UIActivityViewControllers
,除非您创建自己的UTI并且应用(Notes,Evernote和Simplenote)将代码添加到他们的应用中以向您展示。
你可能指的是UIDocumentInteractionController
,它是不同的,你可以添加你的应用程序,我相信你正确地这样做。
你正在尝试的事情都是UIActivityViewControllers
所以无论你怎么努力,你的应用都不会出现在那里。
要添加的快速注释:区分UIActivityViewControllers
和UIDocumentInteractionController
的好方法是查看“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