Введение

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