2013-03-30 38 views
0

我正在編寫來自Java應用程序的特定於應用程序的文檔。這些文檔基本上是一個目錄中相關文件/數據庫的集合。在OS X上,我想要將此目錄顯示爲不透明,就好像它是一個文檔文件,與RTFD隱藏RTF文本文件以及相關資源(如粘貼的圖形)類似。我明白這個概念叫做package將Java應用程序的文檔文件作爲軟件包封裝在OS X上

例如,假設此結構:

MyDocument.ext/ 
    MetaData.xml 
    Database/ 
    Db0 
    Db1 

等,我想這在Finder中顯示爲文件MyDocument,不是一個目錄。

我將能夠爲我的Java應用程序生成一個應用程序包,以便在其Info.plist中包含文檔描述符。

我該如何告訴OS X以這種方式處理我的文檔(目錄)?通過Info.plist,還是我需要執行一些特定的終端程序?

回答

0

this document,的確只有在應用程序的plist條目需要:在文檔類型的條目,關鍵LSTypeIsPackage必須包含值"true"

<key>CFBundleDocumentTypes</key> 
<array> 
    <dict> 
    <key>CFBundleTypeRole</key> 
    <string>Editor</string> 
    <key>CFBundleTypeName</key> 
    <string>Foobar Document</string> 
    <key>CFBundleTypeExtensions</key> 
    <array> 
     <string>foobar</string> 
    </array> 
    <key>LSTypeIsPackage</key> 
    <string>true</string>  <!-- !!! --> 
    <key>CFBundleTypeIconFile</key> 
    <string>foobar.icns</string> 
    </dict> 
</array> 

我不得不應用程序複製到/Applications爲Finder識別我的新文件類型,但之後它就起作用了,並且以.foobar結尾的目錄顯示爲不透明的文件。

相關問題