2012-01-25 84 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)

這應該 「隱藏」 其他應用和快速視圖。

告訴我,如果其中的一種方式確實有效。