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