【发布时间】:2012-03-10 21:10:21
【问题描述】:
iPhone 应用程序“另一个邮件客户端”应该能够打开任何文件以将其作为附件发送。所以,我想将此应用程序与任何扩展名的任何文件相关联。
根据文档,我们应该声明支持具有根 UTI 类型 public.data 的文件——任何文件都应该属于这种类型。它有效,但根本没有。在这种情况下,我们的应用程序将无法打开任何文件,而只能打开那些已经在系统中注册的文件。例如,如果在任何应用程序(例如,保管箱)中,我们将尝试使用 UIDocumentInteractionController “打开...”具有未知扩展名 (file.unknowntype) 的文件,那么答案将是否定的,尽管我们已经注册了我们的应用程序,它支持根 UTI 类型 public.data。但是,如果您安装了另一个应用程序,它支持扩展名为 (*.unknowntype) 的文件,那么我们的应用程序也将能够打开这些文件,并会出现在“打开方式...”应用程序列表中。
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 部分。
标签: iphone objective-c ios