When I access my Photo Library with an UIImagePicker to choose a photo, the app shows me sometimes a black screen and sometimes a screen that says that I have to give permissions to my app to access the photos. But when I go to Settings -> Privacy -> Photos, there’s no app there and the app is nowhere to be seen in Settings. I read that I must add two values to my Info.plist but they didn’t worked either. Have anyone run with the same error? I’m working with xcode 7, swift 2.0 and iOS 9
This is where i prompt for user for Camera access
@IBAction func cameraButtonPressed(sender: UIButton) {
let actionSheet = UIAlertController(title: nil, message: nil, preferredStyle: UIAlertControllerStyle.ActionSheet)
let cancelAction = UIAlertAction(title: "Cancel", style: .Default) { (UIAlertAction) -> Void in
self.dismissViewControllerAnimated(true, completion: nil)
}
let cameraAction = UIAlertAction(title: "Take Photo", style: .Default) { (UIAlertAction) -> Void in
if UIImagePickerController.availableCaptureModesForCameraDevice(.Rear) != nil {
self.imagePicker.allowsEditing = false
self.imagePicker.sourceType = UIImagePickerControllerSourceType.Camera
self.imagePicker.cameraCaptureMode = .Photo
self.presentViewController(self.imagePicker, animated: true, completion: nil)
} else {
self.noCamera()
}
}
let photoLibraryAction = UIAlertAction(title: "Photo Library", style: .Default) { (UIAlertAction) -> Void in
self.imagePicker.sourceType = UIImagePickerControllerSourceType.PhotoLibrary
self.presentViewController(self.imagePicker, animated: true, completion: nil)
}
actionSheet.addAction(photoLibraryAction)
actionSheet.addAction(cameraAction)
actionSheet.addAction(cancelAction)
self.presentViewController(actionSheet, animated: true, completion: nil)
}
I realize that this is an old question, but have one other last-ditch tip to offer...
After trying the above suggestions, I still had Camera, Photos, Music Library permissions issues on an iPod touch running iOS 9.3. The
Settings app > Privacy > Photos
listed no apps (neither didPrivacy > Camera
, orPrivacy > Media Library
). The Settings app did not contain a row for my app, so there was no way for customers to change my app's Privacy permissions.The solution was to open the
Settings app > General > Reset
, then tapReset Location & Privacy
. Apparently, my device's privacy settings had somehow become corrupted. After the reset, all these issues were resolved.This issue appear in iOS 9 when your application Info.plist file contains a key: "CFBundleDisplayName" with empty string value.
You can enter your app name there and it should work.
If you are getting this screen there are probably below reasons and solutions :
1.If you are not getting access permission alert.
Solution : 1. Add CFBundleDisplayName and its value as you application title or anything you want. 2. Add NSPhotoLibraryUsageDescription in info.plist file
2.Check your Settings -> Privacy -> Photos, privacy is disabled or enable.
Solution : Enable privacy for photos.
3.If you are working on simulator and have already added CFBundleDisplayName not getting alert for photo access.
Solation : Make sure Xcode you are using must be in Application folder to get permission access alert.
In info.plist, "Bundle display name" field can not be empty.
Example
For those still getting this error in iOS 10, it is a question of new Privacy settings implemented in iOS 10.
Basically, in the
Info.plist
, you have to state why you want to access the Photo library by setting thePrivacy - Photo Library Usage Description
key (note, this can be left to a blank string).More about it here: http://useyourloaf.com/blog/privacy-settings-in-ios-10/
FOR iOS10 In info.plist
"CFBundleDisplayName" enter your app name
and "NSPhotoLibraryUsageDescription" add description