Разрешения и Privacy Manifest: как правильно запрашивать доступ и что декларировать?
Суть
Доступ к камере, фото, геолокации, контактам, микрофону защищён системой. Чтобы его запросить, в Info.plist нужен ключ NS…UsageDescription (NSCameraUsageDescription, NSPhotoLibraryUsageDescription, NSLocationWhenInUseUsageDescription) с понятным объяснением; без ключа приложение падает при первом обращении к API. Системный алерт показывается один раз: после отказа повторный запрос сразу возвращает отказ, и вернуть доступ пользователь может только в Настройках.
Отдельно App Store с 2024 года требует privacy manifest (PrivacyInfo.xcprivacy) — декларацию, какие данные приложение собирает, ведёт ли трекинг и зачем использует API из списка «required reason».
Продолжение ответа с кодом и уточняющими вопросами интервьюера — в приложении DevPrep.
Полный ответ — в DevPrep