Bamba wrote:
How is this all handled on the iOS side? The only time I've installed iOS apps is my team's shitty iPad app and it never asked any questions or gave any indication what access it needed but I don't know if that's usual or not?
iOS has a run-time prompt (as opposed to Android's install-time list) for each permission an app requests. However, it's a much smaller set that Android's permissions; off the top of my head, access to: the microphone; the camera; the photo library; contacts; calendars; location; probably a couple more I've forgotten. This can result in a deluge of permission prompts when you first open a big app, particularly as the number of permissions has increased over iOS's life. Apps have to be coded to degrade gracefully when a permission is declined.
Some Android permissions don't exist on iOS because all apps get them by default, like the "allow app to access the Internet" permission. All iOS apps can always access the Internet. Other Android permissions are things iOS apps can never do, like access SMS or call a phone number. This allows Android to have classes of apps iOS cannot have, like custom diallers, message clients, launchers, and many more.
iOS 8 tightened this model in a few places. For example, rather than requesting read/write access to your entire contacts list forever (the old model), an app can now say to iOS itself "I want one contact." iOS throws up an OS-level screen where the user picks a single contact, then the app only receives that contact's details and nothing else (and only once, it doesn't see any future changes you make.)
There are
third party hacks in some custom Android ROMs that bring an iOS-style permission system to Android. This can expose numerous "bugs" in third party apps when you decline a permission it was expecting to receive. In general, the workaround is to feed the app dummy data when it asks for stuff behind the permission; an empty list for contacts, a black square for the camera, silence for the microphone, and so on. It still makes a lot of apps go bang, though.