На данный момент не существует общедоступного API 1 для приложения, которое динамически (не) регистрирует типы документов в Launch Services во время выполнения.
Открыть лица Emu это самая проблема.Пользователи могут выборочно загружать / устанавливать эмуляторы, которые представляют собой пакеты, файлы Info.plist которых определяют типы документов.После установки эмулятора типы, определенные в комплекте, должны быть частью типов, определенных в приложении Info.plist.Open Emu переписывает Info.plist приложения, чтобы сделать это - см. -updateInfoPlist в OEGameDocumentController .
Обратите внимание, что перезапись Info.plist пакета является нарушением политики Mac App Store.
У нас есть полевые радары , запрашивающие во время выполнения (не) регистрацию типов документов.Я предлагаю вам также подать еще один файл, который должен быть закрыт как дубликат # 2526726 .Даже если это дубликат, важно все равно зарегистрировать его, чтобы Apple могла оценить количество людей, которым нужна эта функция.
1 Это может быть возможно через SPI, хоть.Когда я изучал это, я наткнулся на _LSRegisterItemFromItemInfo()
в Launch Services.