My favourite system for requesting permissions is actually Facebook's, which lies somewhere between these two - give me the full list, but let me "turn off" certain items if I want.
My favourite system for requesting permissions is actually Facebook's, which lies somewhere between these two - give me the full list, but let me "turn off" certain items if I want.
The only justification for up front permissions I can come up with is the "I want my cat pictures" effect.
A game has a feature that lets you find people playing the same game nearby you. So in the app you click a button saying "Find players nearby", then the apple dialog pops up, asking for GPS permissions. The user is way more likely to understand why the app is asking for your location.
Contrast that with the android model, where you accept the permissions at the beginning, it may not be immediately obvious as to why the app wants your location, so you'll just deny it.
Also, with the Android model, it's all or nothing, and developers can assume that if an app is installed, it has all of the requested permissions. Whereas with iPhone, the developers is forced to cater for situations where not all the permissions are allowed.