有iPhone应用程序“另一个邮件客户端”应该能够打开任何文件发送它作为附件。所以,我想将此应用程序与任何具有任何扩展名的文件相关联。如何将iPhone应用程序与_every_文件类型关联?
按照文档,我们应该声明支持根UTI类型的文件public.data
- 任何文件都应该属于这种类型。它有效,但根本不。在这种情况下,我们的应用程序将无法打开任何文件,但只能打开已在系统中注册的文件。例如,如果在任何应用程序(例如,dropbox)中,我们将尝试使用UIDocumentInteractionController“打开......”文件,其中包含未知扩展名(file.unknowntype),那么答案将是负面的,尽管事实上我们已经注册我们的应用程序,它支持根UTI型public.data
。但是,如果您安装了另一个支持扩展名为(* .unknowntype)的文件的应用程序,那么我们的应用程序也将能够打开这些文件,并将显示在“open in ...”应用程序列表中。
UPD: @Gabriel这是我的Info.plist文件的CFBundleDocumentTypes部分:
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeName</key>
<string>MyMail</string>
<key>LSItemContentTypes</key>
<array>
<string>public.data</string>
</array>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
<key>LSHandlerRank</key>
<string>Default</string>
<key>CFBundleTypeIconFiles</key>
<array>
<string>Icon29.png</string>
...
<string>Icon114.png</string>
</array>
</dict>
</array>
请让我们看看您的info.plist中的CFBundleDocumentTypes部分。 – Gabriel 2012-02-22 21:09:20