4

我了解文档交互编程和 UIDocumentInteractionController 的基础知识,并且已经在我的应用程序中使用它。但是,我在使用自定义文件类型的具体细节方面遇到了麻烦。我在任何地方的 Apple 文档中都找不到这个问题。

我的应用程序使用它自己的文件类型和独特的扩展名。文件本身只是 plists (xml),但我希望设备将文件视为只能在我的应用程序中打开。最初我实现了文档交互的东西,以便在我让它工作时将它们视为 XML,但现在我希望它把它们视为需要移交给我的应用程序的二进制文件。

目前,如果您在电子邮件附件中有我的一个文件,iOS 首先会显示 QuickLook(它只是将 xml 的所有文本内容喷出),然后您才能选择打开方式。同样,如果我的一个文件是用 Safari 打开的,Safari 只会显示 XML,根本不会让您选择在我的应用程序中显示它。

那么如何让 iOS 不将我的文件视为 XML 呢?我已经更改了 info.plist 中的“符合 UTI ”值和“ public.mime-type ”值,但似乎没有效果。

非常感谢任何提示。

4

1 回答 1

0

据我了解 Apple 的 UIT 概念,您不能只更改文件扩展名来更改文件的潜在 UIT。如果文件包含 XML 数据,其他应用程序以及内部应用程序可能会识别您的内容并将其在内部显示为 XML。

尝试使用NSPropertyListSerialization NSPropertyListBinaryFormat_v1_0(然后您可以阅读 XML)存储您的 Plist

当你这样做没有成功时,为什么不试试这个:

  1. 之后用于zlib将 XML plist 压缩为压缩文件。
  2. 制作一个“独特”的文件扩展名(<file>.myappname)

这应该“隐藏”其他应用程序和快速查看。

告诉我其中一种方法是否对您有用。

于 2012-04-18T20:20:24.777 回答