Я компилирую пакет Mac OSX под названием MyBundle.bundle, который используется в качестве плагина для другого приложения. Я хочу, чтобы у пакета был уникальный значок, поэтому я установил файл Info.plist, чтобы сказать:
<key>CFBundleIconFile</key>
<string>MyIcon.icns</string>
и поместите файл MyIcon.icns в папку MyBundle.bundle/Contents/Resources пакета.
Это не работает, искатель показывает общий значок для пакета и игнорирует указанный файл MyIcon.icns. Если я изменил расширение пакета с .bundle на .app, значок сразу отобразится - так что я знаю, что Info.plist верен.
Я нашел работу, которая имитирует пользователя, делающего копию и вставку значка на комплекте:
Я добавляю значок в качестве ресурса типа "icns" и id -16455 в файл .rsrc для пакета.
I чем вызов
/Developer/Tools/SetFile -a BC MyBundle.bundle
Это работает, но на самом деле хромает. Начиная с Mac OS 10.8 SetFile выполняется навсегда.
Мой вопрос: есть ли прочь заставить Finder показать значок пакета без таких хаков?
BTW: есть вопрос по одному и тому же вопросу: Установить значок пакета non app mac os x; но единственный ответ там инструктирует о том, как создать значок, и не помогает с проблемой.