0
我有一個應用程序處理兩種文件擴展名,說.abc
和.xyz
。我想在Finder中爲這兩個單獨的擴展名顯示單獨的圖標。怎麼做?OSX:如何爲我的應用程序設置多個文件圖標?
此外,我只想要.abc
文件類型打開雙擊。對於.xyz
文件類型,我只想在查找器中顯示其圖標。
如果可能的話,Info.plist示例將非常有用。
我有一個應用程序處理兩種文件擴展名,說.abc
和.xyz
。我想在Finder中爲這兩個單獨的擴展名顯示單獨的圖標。怎麼做?OSX:如何爲我的應用程序設置多個文件圖標?
此外,我只想要.abc
文件類型打開雙擊。對於.xyz
文件類型,我只想在查找器中顯示其圖標。
如果可能的話,Info.plist示例將非常有用。
第一部分是相對容易的,雖然不是很明顯。對於第二個,它看起來取決於您是否希望能夠將.xyz
文件拖放到應用程序圖標上。如果不是,你會將CFBundleTypeRole
更改爲None
,但如果你這樣做,看起來你需要設置LSHandlerRank
爲None
而不是(仍然在CFBundleDocumentTypes
陣列中)。
樣品的plist片段爲.abc
文件,一些佔位值:
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>abc</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>your-icon</string>
<key>CFBundleTypeName</key>
<string>Your File Type Description</string>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>LSItemContentTypes</key>
<array>
<string>your.uti.abc</string>
</array>
</dict>
</array>
<key>UTExportedTypeDeclarations</key>
<array>
<dict>
<key>UTTypeDescription</key>
<string>Your File Type Description</string>
<key>UTTypeIconFile</key>
<string>your-icon</string>
<key>UTTypeIdentifier</key>
<string>your.uti.abc</string>
<key>UTTypeTagSpecification</key>
<dict>
<key>public.filename-extension</key>
<array>
<string>abc</string>
</array>
</dict>
</dict>
</array>
當然,加.xyz
到,你只需要添加另一個<dict>
到兩個陣列。
如果你在'UTExportedTypeDeclarations'部分聲明瞭.xyz但是從'CFBundleDocumentTypes'中忽略了它會發生什麼?這會給你的圖標沒有處理雙擊或下降? – JWWalker
我不確定,對不起。我的印象是'UTExportedTypeDeclarations'應該引用'CFBundleDocumentTypes'中定義的類型,但我可能會誤解它。爲什麼不試試呢? – celticminstrel
可能也是相關的 - 有一個'UTImportedTypeDeclarations',就像'UTExportedTypeDeclarations'一樣工作,但是它的意思是你的應用沒有「擁有」的類型(例如PNG圖像)。 – celticminstrel