有iPhone应用程序"另一个邮件客户端"应该能够打开任何文件作为附件发送.所以,我想将此应用程序与任何扩展名的文件相关联.
在文档之后,我们应声明对具有根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>
Run Code Online (Sandbox Code Playgroud) 如何使用我正在开发的iOS应用程序打开文件(它是一个XML文件).我想测试我的:UIApplicationLaunchOptionsURLKey实现.我该怎么做呢?iOS模拟器没有附带邮件或任何东西,所以我对测试那种功能毫无头绪.有任何想法吗?
我在Xcode的Target Properties位下做了Document Types,所以我很确定这是对的:
<dict>
<key>CFBundleTypeIconFiles</key>
<array>
<string>icon</string>
</array>
<key>CFBundleTypeName</key>
<string>XML File</string>
<key>LSItemContentTypes</key>
<array>
<string>public.XML</string>
</array>
</dict>
Run Code Online (Sandbox Code Playgroud)