Введение
Код создателя — это механизм, представленный в классической 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.
The binding are stored inside the resource fork of the application as BNDL and fref resources. These resources maintained the creator code as well as the association with each type code and icon. The OS collected this data from the files when they were copied between mediums, thereby building up the list of associations and icons as software was installed onto the machine. Periodically this "desktop database" would become corrupted, and had to be fixed by "rebuilding the desktop database." The key difference between extensions and Apple's system is that file type and file ownership bindings are kept distinct. This allows files to be written of the same type TEXT say by different applications. Although any application can open anyone else's TEXT file, by default, opening the file will open the original application that created it. With the extensions approach, this distinction is lost all files with a txt extension will be mapped to a single text editing application of the user's choosing. A more obvious advantage of this approach is allowing for double click launching of specialized editors for more complex but common file types, like csv or html. This can also represent a disadvantage as in the illustration above, where double clicking the four mp3 files would launch and play the files in four different music applications instead of queuing them in the user's preferred player application. macOS retains creator codes, but supports extensions as well. However, beginning with Mac OS X Snow Leopard, creator codes are ignored by the operating system. Creator codes have been internally superseded by Apple's Uniform Type Identifier scheme, which manages application and file type identification as well as type codes, creator codes and file extensions. To avoid conflicts, Apple maintained a database of creator codes in use. Developers could fill out an online form to register their codes. Apple reserves codes containing all lower case ASCII characters for its own use. Creator codes are not readily accessible for users to manipulate, although they can be viewed and changed with certain software, most notably the macOS command line tools GetFileInfo and SetFile which are installed as part of the developer tools into /Developer/Tools.