Как присвоить плоскому пакету (.pkg) значок, который будет виден на разных компьютерах?

Я знаю, что файлу .pkg можно присвоить значок, который будет виден на моем Mac, но я хочу сделать так, чтобы его видели все, кто может получить этот пакет.

Я видел это раньше, поэтому знаю, что это возможно, но при открытии .pkg, у которого есть значок, установленный так, как я хочу, я не вижу ничего, что указывает на значок, поэтому я в тупике. Apple не совсем помогает с такими вещами.

Любая помощь приветствуется!


person whitfin    schedule 25.11.2012    source источник
comment
Решение здесь сработало для меня: stackoverflow.com/questions/8371790/   -  person Arjun    schedule 10.12.2014


Ответы (1)


Пользовательские значки для файлов находятся в ресурсе icns -16455. Вы можете просто скопировать и вставить с помощью в информационное окно Finder, чтобы установить значок, или вы можете автоматизировать процесс включения .icns файла с помощью Rez, например:

echo "read 'icns' (-16455) \"foo.icns\";" | Rez -o foo.pkg ; SetFile -a C foo.pkg

Обратите внимание, что в более новых версиях Xcode Rez и SetFile находятся внутри пакета Xcode в Contents/Developer/Tools; вы также можете найти их с помощью xcrun.

Чтобы распространять ваш плоский пакет с неповрежденным значком, вам нужно будет сжать/закодировать его с помощью инструмента, который будет включать в себя его форк ресурсов, например реализации Apple tar, CPIO или Zip (последние два либо через Archive Utility, либо ditto), или поместите его в образ диска.

person Nicholas Riley    schedule 26.11.2012
comment
Спасибо, я не знал, что мне нужно было переместить его через .zip, чтобы сохранить значок! - person whitfin; 28.11.2012
comment
Я тоже сейчас. Я предполагаю, что что-то сломалось в OS X 10.7 или 10.8. Вам нужно будет найти другой способ. - person Nicholas Riley; 09.10.2013