Код создателя — это механизм, представленный в классической Mac OS для связи файла данных с прикладной программой , которая его создала. Аналогичный код типа содержит тип файла, например «ТЕКСТ». Вместе тип и создатель указывали, какое приложение следует использовать для открытия файла, аналогично (но более богато) расширениям файлов в других операционных системах.
Коды создателей представляют собой четырехбайтовые OSTypes . Они позволяют приложениям запускать и открывать файл при двойном щелчке по любому из связанных с ним файлов. Коды создателей могли представлять собой любое четырехбайтовое значение, но обычно выбирались так, чтобы их представление ASCII образовывало слово или аббревиатуру. Например, код создателя приложения HyperCard и связанных с ним «стеков» представлен в ASCII как WILD от исходного имени приложения WildCard. Иногда они представляли собой внутренние шутки . Например, компьютерная игра «Марафон» имела код создателя 26,2 (приблизительная длина марафона в милях ), а «Марафон 2: Дюрандаль» имела код создателя 52,4 .
Привязки хранятся внутри ветви ресурсов приложения как ресурсы BNDL и fref. Эти ресурсы сохранили код создателя, а также связь с каждым кодом типа и значком . ОС собирала эти данные из файлов при их копировании между носителями, тем самым формируя список ассоциаций и значков по мере установки программного обеспечения на машину. Периодически эта «база данных рабочего стола» повреждалась, и ее приходилось исправлять путем «перестройки базы данных рабочего стола». [1]
Ключевое различие между расширениями и системой Apple заключается в том, что привязки типа файла и владельца файла сохраняются отдельно. Это позволяет записывать файлы одного и того же типа (например, TEXT) разными приложениями. Хотя любое приложение может открыть чужой TEXT-файл, по умолчанию при открытии файла откроется исходное приложение, создавшее его. При использовании расширений это различие теряется — все файлы с расширением .txt будут сопоставлены с одним приложением для редактирования текста по выбору пользователя. Более очевидным преимуществом этого подхода является возможность запуска специализированных редакторов двойным щелчком мыши для более сложных, но распространенных типов файлов, таких как .csv или .html. Это также может представлять собой недостаток, как показано на рисунке выше, где двойной щелчок по четырем mp3-файлам запускает и воспроизводит файлы в четырех различных музыкальных приложениях вместо того, чтобы ставить их в очередь в предпочитаемом пользователем проигрывателе.
macOS сохраняет коды создателей, но также поддерживает расширения. Однако, начиная с Mac OS X Snow Leopard , коды создателей игнорируются операционной системой. Коды создателей были заменены схемой единого идентификатора типа Apple , которая управляет идентификацией типов приложений и файлов, а также кодами типов, кодами создателей и расширениями файлов.
Чтобы избежать конфликтов, Apple сохранила базу данных используемых кодов создателей. Разработчики могли заполнить онлайн-форму для регистрации своих кодов. [2] Apple резервирует коды, содержащие все символы ASCII нижнего регистра, для собственного использования.
Коды создателей недоступны пользователям для манипулирования, хотя их можно просматривать и изменять с помощью определенного программного обеспечения, в первую очередь инструментов командной строки macOS GetFileInfo и SetFile , которые устанавливаются как часть инструментов разработчика в /Developer/Tools .
Разработчик признает, что, поскольку информация была собрана вручную из различных источников, некоторые из которых не зарегистрированы в Apple, из различных приложений и их файлов, достоверность НЕ гарантируется.