2012-06-11 57 views
1

我有一個可加載包;不是應用程序。我將icns文件存儲在資源目錄中,Info.plist具有正確的CFBundleIconFile條目。我怎麼知道?我在測試應用程序中使用了相同的技術和不同的圖標。我甚至重建了「lsregister」。 10.6.x或10.7.x都不顯示Finder中的圖標。可加載包的圖標

我已經使用複製/粘貼到獲取信息圖標中更改了Finder中的圖標。這會產生一個名爲Icon^M的資源分支的隱藏文件。

問題: 1)有沒有辦法讓圖標出現在可加載的包中? 2)是否有shell程序或通過編程方式更改「獲取信息」圖標?

回答

0

解決方案在於NSWorkspace類的-iconForFile方法。我構建了一個命令行工具,獲取我需要的圖像,並使用上述方法設置圖標。

[[NSWorkspace sharedWorkspace] setIcon:content forFile:targetFile options: NSExclude10_4ElementsIconCreationOption ]; 

其中content是圖標的NSImage內容,targetFile是目標bundle的路徑。