I think the iOS model works a little better because you can defer requesting permissions until you actually need them. That way the user can get a better understanding of what the app is going to do with those permissions.
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.