iosphotolibrary

IOS photos privacy and image upload process


I am an iPhone user and typically, when you want to upload a photo to an app, there are three steps:first, the app checks whether it has permission to access albums and if it does not ,it will ask you to give permission. Then, you will be presented with an interface from which you can select a photo from the album, and finally, you press a button to upload the selected photo to the app. Previously, I thought the app can only access the photo that the user selects, but then I saw this answer: https://apple.stackexchange.com/questions/107404/is-it-safe-to-allow-apps-to-access-your-photos

which says: "When you give access to an app to photos...it can read all your photos on the device in an unencrypted form." "For example, once you give permission, iOS apps for popular services like Dropbox, Facebook, Flickr and Google+ can upload all your photos to their services. With iOS 7, these apps can also be allowed to do it in the background (when you're not actively running the app). Most users wouldn't even actively know which photos are being uploaded and when."

Millions of people are using ios system and many photos in the albums are private, including but are not limited to images of having sex, images of getting drunk, etc. so I think the most appropriate design is to let the app only access the photos that users selected, not all the photos on the phone. And I think a lot of users, like me, believe that when you give an app permission to access the album, it can only access the photo selected by users, not every photos on the device.

Since I'm a programmer(but not an ios programmer), I take a look at the ios documentation, and I found a class called UIImagePickerController. I believe it is through this class that the app gets a selected image from the user, so it seems to me that an app can only access the selected image. But on stackoverflow I also found an answer about how to select all photos from the device: IOS Photos framework

So my question is, if you give an app permission to access the album, can it only access the photo users select from UIImagePickerController, or every photo on the device?


Solution

  • Once a user grants permission to access the photo library, that iOS app has complete access to every photo in the user's photo library. The permission is not for a specific photo. And UIImagePickerController is only a graphical means to allow the user to select an image. There are APIs that allow the app to access any photo without user interaction. And all of those APIs are covered by the one single permission to allow access to the photo library.