2012-09-28 60 views
6

我已閱讀關於此問題的所有門票,但我仍然不明白。我有一個非文檔的OSX應用程序(用於OSX Lion和MountainLion)。我希望此應用導出和導入與自定義文件擴展名「.iobs」關聯的自定義數據。在內部,這些文件只是使用[NSKeyedArchiver archivedDataWithRootObject:]進行數據歸檔,並保存到磁盤上並帶有「iobs」擴展名。如何爲OSX註冊自定義非文檔UTI /文件類型以識別它?

所以,我的檢查清單是這樣的:

1)導出機制:檢查。我的應用程序正確創建.iobs文件。如果我運行「文件<filename.iobs>」在終端,我得到「iObserve_exportedItems.iobs:蘋果二進制屬性列表」

2)出口UTI的宣言,檢查。如下圖所示。我沒有聲明一個自定義的Document類型,因爲它從來沒有在我的應用程序中使用NSDocument,並且沒有意義。無論如何,我已經嘗試過並失敗了。我也嘗試過「符合」條目的不同組合,但沒有成功。

Snapshot of Xcode4 exported custom UTI declaration

3)是否有任何第三點???我需要啓動一次我的應用程序讓系統知道嗎?到目前爲止,我只是在Xcode的Debug中運行它,並沒有任何效果。所以我猜我的Info.plist是錯誤的,但我從Xcode4界面填充它,所以???

感謝您的任何幫助,提示,問題,建議。

回答

14

好吧,顯然,即使我沒有指定文檔類,我也必須聲明文檔類型。請參閱附件截圖。請注意,只留下文檔UTI不起作用。我確實需要這兩個(導出的UTI和文檔類型)。不是,如果我說它符合com.apple.binary-property-list,我沒有正確的圖標。

對於那些想知道的事情,除了啓動應用程序一次,「註冊」一個類型(及其後續更改)無關。

enter image description here

+2

+1感謝您指出了截圖。這是關於如何爲您的應用程序註冊文件類型的非常完整的問答。 – codingFriend1

+2

+1謝謝!我無法相信找到這些信息有多難。 –