Показать значок для кода создателя в OSX - PullRequest
1 голос
/ 06 августа 2011

Как я могу отобразить пользовательский значок в зависимости от кода создателя файла / кода типа.Например, у меня есть приложение, которое открывает файлы с кодом создателя «TSTx», как бы я установил значок для этого кода создателя?

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

Спасибо, J

1 Ответ

3 голосов
/ 06 августа 2011

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

Если их файлы существуют в файловой системе и имеют правильные расширения пути, -[NSWorkspace iconForFile:] должно сработать.(Я думаю, что это также будет работать с пользовательскими значками.) Если файл не существует в файловой системе (например, потому что он хранится в базе данных), -[NSWorkspace iconForFileType:] - это путь.Вы можете предоставить ему расширение пути или, если вы настаиваете, код типа HFS (который вы должны заключить в строку с функцией NSFileTypeForHFSTypeCode ).

Чтобы установитьпользовательский значок, который будет использоваться Finder, вам не нужны коды типов и создателей.Используйте -[NSWorkspace setIcon:forFile:options:].

...