Кіріспе
Жасаушы коды – классикалық Mac OS жүйесінде енгізілген, дерек файлын оны жасаған қолданба бағдарламасына байланыстыратын механизм. Осыған ұқсас типтік код файл түрін, мысалы, "TEXT" сияқты сақтайды. Түр және жасаушы кодтары бірге файлды ашу үшін қандай қолданба қолданылатынын көрсетеді, бұл басқа операциялық жүйелердегі файл кеңейтімдеріне ұқсас (бірақ одан байрақ). Жасаушы кодтары төрт байттық OSType болып табылады. Олар қолданбаларға кез келген файлды екі рет шерту арқылы іске қосуға және ашуға мүмкіндік береді. Жасаушы кодтары кез келген төрт байттық мән болуы мүмкін, бірақ көбінесе олардың ASCII ұсынылымы сөз немесе аббревиатура құрауы үшін таңдалады. Мысалы, HyperCard қолданбасының және оған байланысты "стектердің" жасаушы коды ASCII-де WildCard бағдарламасының бастапқы атынан алынған. Кейде олар ішкі әзілдерді көрсетеді. Мысалы, Marathon компьютерлік ойынының жасаушы коды (марафонның шамамен ұзындығы) және Marathon 2: Durandal жасаушы коды бар. Байланыстар BNDL және fref ресурстары ретінде қолданбаның ресурстық вилкасында сақталады. Бұл ресурстар жасаушы кодын, сондай-ақ әр типтік кодпен және белгішемен байланысты сақтайды. Жүйе бұл деректерді файлдар көшірілген кезде жинақтайды, бағдарламалық жасақтама орнатылғанда ассоциациялар мен белгішелер тізімін құрайды. Кейде бұл "жұмыс үстелінің дерекқоры" бұзылып, "жұмыс үстелінің дерекқорын қайта құру" арқылы түзетуді қажет етеді. Apple жүйесі мен кеңейтімдердің арасындағы басты айырмашылық – файл түрі мен файл иелігінің байланысы бөлек сақталады. Бұл әртүрлі қолданбалармен бірдей типтегі файлдарды, мысалы, TEXT, жазуға мүмкіндік береді. Кез келген қолданба кез келген басқа қолданбаның TEXT файлын аша алады, бірақ әдетте файлды ашу оны жасаған бастапқы қолданбаны ашады. Кеңейтімдер әдісімен бұл айырмашылық жоғалады – txt кеңейтімі бар барлық файлдар пайдаланушы таңдаған бір мәтіндік редакторға сәйкестендіріледі. Бұл тәсілдің айқын артықшылығы – CSV немесе HTML сияқты күрделі, бірақ жиі қолданылатын файл түрлері үшін арнайы редакторларды екі рет шерту арқылы іске қосуға мүмкіндік беру. Бұл жоғарыдағы мысалдағыдай кемшілікке де алып келуі мүмкін, онда төрт mp3 файлын екі рет шерту файлдарды пайдаланушының таңдаған ойнатқыш қолданбасында тізімге қоюдың орнына төрт түрлі музыка бағдарламасында іске қосып, ойнатады. macOS жасаушы кодтарын сақтайды, бірақ кеңейтімдерді де қолдайды. Дегенмен, Mac OS X Snow Leopard нұсқасынан бастап, операциялық жүйе жасаушы кодтарын ескермейді. Жасаушы кодтары Apple-дің Бірыңғай типтік идентификатор схемасымен ішкі түрде алмастырылды, ол қолданба мен файл түрін, сондай-ақ типтік кодтарды, жасаушы кодтарын және файл кеңейтімдерін басқарады. Қайшылықтарды болдырмау үшін Apple қолданыстағы жасаушы кодтардың дерекқорын сақтайды. Дамытушылар өз кодтарын тіркеу үшін онлайн нысанды толтыра алады. Apple барлық кіші әріптерден тұратын ASCII кодтарын өзінің пайдалануы үшін сақтайды. Пайдаланушылар үшін жасаушы кодтарына тікелей қол жеткізу мүмкін емес, бірақ оларды белгілі бір бағдарламалық жасақтамамен, әсіресе /Developer/Tools каталогында орнатылған macOS командалық жолының GetFileInfo және SetFile құралдарымен қарауға және өзгертуге болады.
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.