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