我細讀了幾乎所有我能想到的Google搜索,並且得到了我認為很接近如何在側欄中設置自定義圖標的答案,而不必求助於Dropbox的mach_inject黑客,但我有一個答案幾個問題,我很困惑。我的主要問題是:您可以為文件夾設置“類型”嗎?之所以問是因為進入/System/Library/CoreServices/CoreTypes.bundle/Contents時有一個Info.plist文件。此文件顯示系統文件夾的圖標關聯。在研究側邊欄圖標之前,首先,我想知道“常規”圖標如何與系統文件夾相關聯。我將以“文檔”文件夾為例。我可以在此Info.plist文件的“文檔類型”下看到,項目155用於“文檔”文件夾,它說明應該與“文檔”文件夾關聯的圖標應該是DocumentsFolderIcon.icns。它還表明“文檔操作系統類型”是4個字符的類型,稱為“文檔”。
可以安全地假設如果我創建了一個New文件夾,我可以以某種方式編輯一個擴展屬性或某種元數據,以聲明我的新文件夾為“ docs”類型,這將導致Finder為它顯示DocumentsFolderIcon.icns?我該如何修改我的文件夾“類型”?
此外,在同一Info.plist文件中,它解釋了側邊欄圖標。條目10的字典(“文檔”側欄圖標)說明,“ sbDc”的文檔操作系統類型將顯示SidebarDocumentsFolder.icns。同樣,對於新創建的文件夾,我可以以某種方式編輯屬性或元數據以指示邊欄類型應為“ sbDc”而不是默認的“ sbFd”(用於“通用文件夾”圖標)。
能夠以這種方式修改新文件夾中的那些屬性,可以為我提供概念證明,而無需mach_inject技巧即可獲取自定義的側邊欄圖標,並使我能夠創建新文件夾,就像它們是系統生成的文件夾帶有其自己的自定義側邊欄圖標和所有內容。
(我知道/ Library / Preferences中有一個名為com.apple.sidebarlists.plist的其他文件,但是我很困惑,因為對於文檔文件夾定義,它表示com.apple.LSSharedFileList.TemplateSystemSelector的十進制數字,將其轉換為十六進制,然後轉換為ASCII時,拼寫出“ sbDt”而不是“ sbDc”,該文件在系統Info.plist文件中列為Documents邊欄類型)-編輯-實際上,我進行了修改,以嘗試進行更改以查看會發生什麼;默認情況下,最初為“文檔”設置的十進制數字實際上為1,935,819,875,將其轉換為ASCII中的“ sbDc”。 (下面的屏幕快照做了我的更改。)
因此,回顧一下,如何在一個新的屬性上修改屬性,元數據或任何被調用的內容創建的文件夾將其聲明為“ docs”類型而不是“ fldr,fold,utif或aexf”類型,以便代替通用文件夾圖標,而是顯示“文檔”文件夾圖標?
我也知道這已經被打死了,我只是覺得我已經能夠設置自定義圖標和側邊欄圖標,而不必借助代碼注入了……
在此先感謝!
-關於“常規”自定義圖標(不是側邊欄圖標)的另一條註釋:我知道如何使用常規方法為文件夾設置自定義圖標,但是當您使用預覽選擇圖像然後單擊“獲取信息”時在文件夾上,然後將圖像粘貼到左上角以設置圖標,文件夾的磁盤大小會發生變化... 不是系統文件夾的圖標設置方式。系統文件夾必須通過某種方式將其4個字符的類型與它們的圖標相關聯,而我正嘗試對自己的自定義文件夾進行同樣的操作。--
UPDATE
Tobias的答案(請參閱下面的答案)似乎在正確的路徑上,但是我終生無法找到哪個文件將路徑連接至圖標。我嘗試使用Terminal在計算機上的每個文件中搜索字符串'/ Sites'。如果在“主”文件夾中創建“站點”文件夾,它將獲得帶有Safari徽標的特殊圖標,但是如果在桌面上創建“站點”文件夾,則將獲得通用文件夾圖標。因此,Tobias肯定會繼續進行路徑歧視!出於某種原因,我相信或打算將“站點”保留在OS X的較舊版本中,並留給Web開發人員使用(儘管奇怪的是,它沒有出現特殊的補充工具欄圖標,但仍然在補充工具欄上獲得了通用文件夾圖標)。誰能解釋如何,為什麼Sites文件夾如此特別?重點是 how ,大聲笑。