iOS 8 Camera Privacy Settings

The AVFoundation framework introduced privacy controls for the microphone and camera in iOS 7. This was explained in WWDC 2013 Session #610 What’s New in Camera Capture. In brief you should not assume that the call to create an AVCaptureDeviceInput will succeed:

AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
AVCaptureDeviceInput *deviceInput = [AVCaptureDeviceInput deviceInputWithDevice:device error:&error];
if (deviceInput)
{
    // Access to the camera succeeded.
}

The first time an iOS 7 application requests access to the camera the user could be presented with a dialog asking for permission:

I stress the word could as I never once saw this behaviour in the UK. The previously mentioned WWDC session does give a hint why:

In some regions, law requires user consent to use the camera or mic

I never found a definitive statement as to which regions this was actually required behaviour so I was left wondering if I was missing something. That mystery has been solved this week when I finally got around to running the QR code capture sample project on an iOS 8 device and saw the dialog asking for permission.

This is confirmed by Apple in the WWDC 2014 Session #510 Camera Capture: Manual Controls. The camera privacy control is now required by iOS 8 for all regions. Previously it was difficult to test an iOS 7 app for the refusal case if you happen to live in a region where it is not required by law. Now with iOS 8 you can finally check that you handle the refusal gracefully.

Never miss a post!

iOS Size Classes Cheat Sheet

Subscribe and get my free iOS Size Classes Cheat Sheet

Success! Now check your email to confirm your subscription and download your free guide to iOS Size Classes.

There was an error submitting your subscription. Please try again.

Unsubscribe at any time.
No time to watch WWDC videos?

Sign up to get my iOS posts direct to your inbox and I will send you a free PDF of my iOS Size Classes Cheat Sheet.

OK! Check your inbox (or spam folder) for an email to confirm your details and download your free guide to iOS Size Classes.

There was an error submitting your subscription. Please try again.

Unsubscribe at any time.
Archives Categories