DevPrep

All topics › IDEs & SDK

Permissions and the Privacy Manifest: how to request access and what to declare?

Middle PRO

The gist

Access to the camera, photos, location, contacts and microphone is protected by the system. To request it, Info.plist needs an NS…UsageDescription key (NSCameraUsageDescription, NSPhotoLibraryUsageDescription, NSLocationWhenInUseUsageDescription) with a clear explanation; without the key the app crashes on the first call to the API. The system alert is shown once: after a refusal, a repeated request returns the denial immediately, and the user can only restore access in Settings.

Separately, since 2024 the App Store requires a privacy manifest (PrivacyInfo.xcprivacy) — a declaration of which data the app collects, whether it tracks, and why it uses APIs from the "required reason" list.

The rest of this answer, with code and interview follow-ups, is in the DevPrep app.

Read the full answer in DevPrep

Practice this before your interview

DevPrep turns these answers into one-minute challenges: what does this code print, find the bug, mock interviews. One challenge a day.

Get DevPrep on the App Store