About
Введение
Начиная с iOS 8, Apple представила App Extensions. App Extensions позволяют предоставлять часть функционала одного приложения всем другим (например, открыть изображение или кастомную клавиатуру). Одно расширение может выполнять только одну функцию (например, Share или Custom Keyboard).
Как это работает

Host app - какое-то стороннее приложение, которое хочет получить доступ к функциональности приложения Containing app Containing App - расширение является частью этого приложения App extension - расширение
Вопросы безопасности
Из соображений безопасности
Расширение никогда не взаимодействует с Containing app напрямую (обычно, они даже не запущены одновременно)
App extension и Host app взаимодействуют через IPC
Host app и Containing app не взаимодействуют вовсе
Виджет Today (только этот тип расширений) может спросить систему открыть Containg app через вызов
openURL:completionHandler:метод класса NSExtensionContext.Оба приложения - App extension и Containing app - могут обращаться к privately defined shared container.
Дополнительно:
Расширения не могут получать доступ к каким-то API, например, HealthKit
Они не могут получать данные, используя AirDrop, но могут могут отправлять данные.
Не разрешены фоновые задачи с долгим временем жизни, но можно инициировать загрузку и скачивание.
Last updated