Can't block access to photos for iOS application - strange situation [duplicate]
I have downloaded a game from the App Store onto my iPhone. My understanding is that apps need to ask for, and be granted or denied, permission to access iCloud, Photo gallery etc.
But in this game, there is an option to change the profile picture, and when I tap on it, it accesses my Photo gallery and I can change the profile picture from images in my gallery.
In Settings, I don’t see that there is any Photo gallery access permission for this app.
What exactly is happening in the background? Does iPhone treat game apps different from normal apps?
The app in question is a game called Word Domination.
Solution 1:
The app in question is presenting a system provided UIImagePickerController
to choose image for setting as user's profile picture.
From the PhotoKit Apple Developer documentation, Requesting Authorization to Access Photos:
When using the UIImagePickerController to bring up the user's photo library, your app doesn't need to request permission explicitly.
This behavior is by design since iOS 11. UIImagePickerController
runs in a separate process from the app, and doesn't directly get to read the Photo gallery data. Thus, for read only access to photos, no special permission is required.
This explains why you don't get the see an alert seeking permission to Photos, and the same isn't displayed under app preferences in Settings app. The user is explicitly setting the picture and the app couldn't read the Photo gallery directly.