A unified way for iOS apps to request user permissions.
This framework provides a unified way of asking for user permissions on iOS. It also provides UI to explain the permission requirements before presenting the user with the system permission dialogue. This allows the developer to postpone the system dialogue. The framework provides no actual chrome, leaving the developer and designer in charge of creating the views.
While you can use this framework to ask for a user's permission to multiple things at the same time and out of context, you should continue to ask for permission only when the app needs it. However there might be occassions, where multiple permissions are required at the same time: e.g. when starting to record location and motion data.
This framework also provides explicit ways to ask for the user's permission where the systems APIs only provide implicit methods of doing so.