Разрешить пакеты / плагины добавлять в поддерживаемые расширения документов приложения Какао? - PullRequest
1 голос
/ 23 октября 2010

В приложении Какао на основе документов обработанные расширения файлов перечислены в файле Info.plist приложения.

Для приложения, которое я создаю, потребуется загружаемый пакет для каждого типа открываемого файла. Поэтому я хотел бы, чтобы наличие пакетов изменило способ регистрации моего приложения для обработки определенных типов файлов.

Например, если установлен HTML.bundle, мое приложение должно разрешать открытие документов HTML, но если пакет отсутствует, то не должен.

Это должен быть параметр уровня приложения или он может распространяться через установленные пакеты для приложения?

Я имею в виду «Типы документов» в Info.plist приложения на основе документов.

1 Ответ

1 голос
/ 23 октября 2010

Вы должны переписать файл Info.plist из приложения:

if (bundle_installed(@"HTML.bundle")) {
    NSMutableDictionary *dict = [NSMutableDictionary dictionaryWithContentsOfFile:PATH_TO_PLIST];

    /* add/remove things to/from dict here */

    [dict writeToFile:PATH_TO_PLIST atomically:YES]; // atomically is important! Must be YES!!
}

Это очень легко реализовать, но, тем не менее, ваше приложение должно быть перезапущено, чтобы make внес изменения.


Вы должны добавить резервный Info.plist в каталог Resources на случай, если что-то пойдет не так.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...