2012-01-25 49 views
4

我明白文档交互编程和UIDocumentInteractionController的基本,我已经在我的应用程序中工作。不过,我在使用自定义文件类型的具体细节方面遇到了问题。我无法在任何地方找到苹果文档中提到的这一点。自定义文件类型与iOS文档交互编程

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

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

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

任何提示非常感谢。

回答

0

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

尝试存储您的Plist与NSPropertyListSerializationNSPropertyListBinaryFormat_v1_0(那么你readble XML)

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

  1. 使用zlib事后压缩XML的Plist到压缩文件。
  2. 做一个 “独特” 的文件扩展名(<file> .myappname)

这应该 “隐藏” 其他应用和快速视图。

告诉我,如果其中的一种方式确实有效。