iOS включает расширение действия программно

Я хотел бы знать, есть ли способ включить расширение действия программно в приложение, чтобы пользователю не нужно было включать его вручную.

1 ответ

Прошло много времени с тех пор, как вопрос был задан, но FWIW вот ответ. Да, я программно вызываю расширение действия, используя недокументированный интерфейс NSExtension. Об этой стратегии я узнал из этого поста https://ianmcdowell.net/blog/nsextension/. Этот дизайн на самом деле очень удобен, и с технической точки зрения он отлично работает для меня, за исключением ограничений, налагаемых самими расширениями, особенно ограничений памяти. Например, мое расширение действия ограничено 16 Мб, что в моем случае было очень важно.

Что касается того факта, что интерфейс NSExtension не задокументирован, я обратился в Apple с просьбой о поддержке на уровне исходного кода, чтобы помочь мне реализовать мой дизайн, и спросил их о легитимности этого интерфейса. Ответ заключался в том, что было бы совершенно нормально, если бы я использовал его, и это не должно негативно повлиять на обзор Apple.

Сообщение, на которое я ссылался выше, предоставило очень полезный план, но мне пришлось добавить довольно много дополнительного кода, чтобы найти работающее решение. Если есть интерес к тому, как я это сделал, я могу собрать несколько общих фрагментов и опубликовать их здесь.

Другие вопросы по тегам