DevPrep

Все темы › Среды разработки и SDK

App Extensions и App Groups: как расширение делится данными с приложением?

Middle PRO

Суть

App Extension (виджет, Share, Notification Service, клавиатура, App Intents) — отдельный бандл .appex внутри приложения, который работает в своём процессе и запускается обычно системой или другим приложением, а не вашим. У него своя песочница, свой контейнер данных и жёсткий лимит памяти (у виджетов и Notification Service Extension — заметно меньше, чем у приложения). Поэтому Documents основного приложения расширению недоступен.

Общие данные живут в App Group: capability включают в обоих таргетах с одним идентификатором (group.com.example.app), и оба процесса получают общий контейнер файлов, общий UserDefaults и, при настройке, общий Keychain.

Продолжение ответа с кодом и уточняющими вопросами интервьюера — в приложении DevPrep.

Полный ответ — в DevPrep

Потренируйтесь перед собеседованием

В DevPrep эти ответы превращаются в задачи на минуту: что напечатает код, найди баг, пробное собеседование. По задаче в день.

Скачать DevPrep в App Store