iOS10 Crash - New Privacy Permission Settings and Descriptions
date
Oct 4, 2016
slug
crash-privacy
status
Published
tags
Tech
summary
type
Post
So we were getting crashes on development build when our app tries to ask user for camera permission on iOS10. It hasn’t happened on iOS9, and we didn’t know what went wrong. Setting up exception breakpoint on throw and catch doesn’t help either. Apple should really give us more clue on this. I was stuck for a while.
Until my team mate said that it might be the new privacy settings.
Lo and behold, he is right, turns out there are heaps of new privacy permission request description that we have to add now. Prior to iOS10, only location permission was required. The full list are:
NSBluetoothPeripheralUsageDescription
NSCalendarsUsageDescription
NSVoIPUsageDescription
NSCameraUsageDescription
NSContactsUsageDescription
NSHealthShareUsageDescription
NSHealthUpdateUsageDescription
NSHomeKitUsageDescription
NSLocationUsageDescription
NSLocationAlwaysUsageDescription
NSLocationWhenInUseUsageDescription
NSAppleMusicUsageDescription
NSMicrophoneUsageDescription
NSMotionUsageDescription
NSPhotoLibraryUsageDescription
NSRemindersUsageDescription
NSSpeechRecognitionUsageDescription
NSSiriUsageDescription
NSVideoSubscriberAccountUsageDescription
In the case of our app, adding
NSCameraUsageDescription
into info.plist
fix the crashes and display a description message under the App would like to access your camera
system alert.