From an app’s perspective we’d prefer forced updates as the simplest solution, mainly because of these advantages:
- No customers on old app versions (for very long time).
- No code-complexity due to checks for optional permissions in our app.
If for whatever reason this cannot be, I can see the benefit of at least solving for advantage 1 (no customer on old app versions), because for us that is more painful than more complex code due to permission checks. At least, the permission checks give us app developers real agency in nudging/forcing customers to approve new/optional permissions (i.e. the level of heavy-handedness that Scott mentioned).
Of course, for this to be really meaningful, we need a way to address the decision-makers, i.e. the admins. For that, I second Mark and Daniels posts: