For our app, we now use the new PHPickerViewController for selecting photos for profile and sharing, and we do not need to prompt the user for permission as we do not use PhotoKit or PHAssets. This is good.
However, when saving a photo to the camera roll taken with the camera via UIImagePickerController, we request .addOnly permission.
let status = PHPhotoLibrary.authorizationStatus(for: .addOnly)
if status != .authorized {
PHPhotoLibrary.requestAuthorization({status in
DispatchQueue.main.async { …
When the user is prompted for Photos access we get still the normal alert with Select Photos…, Allow Access to All Photos, Don’t Allow.
If the user took the photo with the camera in our application, it seems that permission is explicit and why would we need the prompt the user to Select Photos… when we are just adding a photo the user took to the camera roll? This is confusing to the user, as they would be selecting photos for what purpose..? In light of this, what is the difference or advantage in requesting authorization for .addOnly as opposed to .readWrite ? We still get the prompt as if access were needed for other than .addOnly.