Apple provides some useful tips about Requesting Permissions as part of their Human Interface Guidelines.
In addition to that, below are the things to consider for an optimal user experience:
Request personal data only when your app clearly needs it.
Explain why your app needs the information.
When the application requests permission for background locations or motion activities, a message will be shown to the user. You can configure this message by changing the value for the following keys in
Request permission at launch only when necessary for your app to function.
Use the system-provided alerts.
Don’t request location information unnecessarily.