Настройка типа документа в document-based Cocoa приложении

Для начала нужно выбрать нужный target в проекте, далее перейти на вкладку Info.


Если смотреть UTI файла с помощью утилиты mdls, то соответствие будет таким:
$ mdls exampleFile.exampleExtension
kMDItemContentType = "Identifier" kMDItemKind = "Name"

Примеры:
kMDItemContentType             = "public.plain-text"
kMDItemKind                    = "Документ простого текста"

kMDItemContentType             = "com.apple.xcode.model.data-version"
kMDItemKind                    = "Versioned Core Data Model"

По умолчанию в методы:
  • - (NSData *)dataOfType:(NSString *)typeName error:(NSError **)outError
  • - (BOOL)readFromData:(NSData *)data ofType:(NSString *)typeName error:(NSError **)outError
в параметре typeName передается значение Name. Но если указан Identifier, то будет передаваться значение поля Identifier.

В поле Class указывается подкласс NSDocument.

В поле Extensions указывается расширение документа с которым работает приложение.


--