You know when a website has an “Upload” function? There it opens up a file picker that is native to your operating system, and let’s you pick which file to upload. This does not allow the website access to your entire file system, it only allows access to the exact file you picked.
Android and iOS could easily have implemented access in the same way in the operating system.
It’s also comical how you have to grant an android app full access to make phone calls for the app to be able to see whether you are currently in a call. This is useful for many games to pause if you get a call suddenly, but now your game has the ability to dial people as well…
I mean… How else would the app see them if it doesn’t have permission to access the folder they are stored in?
The alternative is that permission is just assumed, like most desktop OSes.
IOS allows you to choose individual photos an app is allowed to access.
You know when a website has an “Upload” function? There it opens up a file picker that is native to your operating system, and let’s you pick which file to upload. This does not allow the website access to your entire file system, it only allows access to the exact file you picked.
Android and iOS could easily have implemented access in the same way in the operating system.
It’s also comical how you have to grant an android app full access to make phone calls for the app to be able to see whether you are currently in a call. This is useful for many games to pause if you get a call suddenly, but now your game has the ability to dial people as well…
It’s possible in grapheneOS