Значок для загружаемого пакета

У меня есть загружаемый комплект; не приложение. Я храню файл icns в каталоге ресурсов, и в Info.plist есть правильная запись для CFBundleIconFile. Откуда мне знать? Я использовал ту же технику и другой значок в тестовом приложении. Я даже перестроил "lsregister". Ни 10.6.x, ни 10.7.x не показывают значок в Finder.

Я изменил значок в Finder, используя копирование / вставку в значок Get Info. Это создает скрытый файл с ресурсной вилкой под названием Icon^M.

Вопросы: 1) Есть ли способ заставить иконку появляться в загружаемом пакете? 2) Существует ли программа-оболочка или способ программно изменить значок Get Info?

1 ответ

Решение заключается в методе -iconForFile класса NSWorkspace. Я построил инструмент командной строки, который берет нужное мне изображение и использует описанный выше метод для установки иконки.

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

где content - содержимое значка NSImage, а targetFile - путь к целевому комплекту.

Другие вопросы по тегам