flutter-permission-plugins icon indicating copy to clipboard operation
flutter-permission-plugins copied to clipboard

Method requestPermissions returns inconsistent results with "Allow Once" on iOS

Open milhomem opened this issue 4 years ago • 0 comments

🐛 Bug Report

The method requestPermissions() when called with the default permission level LocationPermissionLevel.location returns PermissionStatus.denied if the user selects "Allow Once", but if you call the same requestPermissions() again it will return PermissionStatus.granted.

This does not happen if you call requestPermissions() with the permission level LocationPermissionLevel.locationWhenInUse.

Expected behavior

The method should return PermissionStatus.granted on the first call and consecutive calls.

Reproduction steps

  • Set permission as denied on iOS
  • Call permissionRequestResult = await LocationPermissions().requestPermissions()
  • Select "Allow Once" on iOS modal
  • Check permissionRequestResult will equal to PermissionStatus.denied
  • Again, call permissionRequestResult = await LocationPermissions().requestPermissions()
  • Check permissionRequestResult will equal to PermissionStatus.granted

Configuration

Version: 3.0.0+1

Platform:

  • [x] :iphone: iOS
  • [ ] :robot: Android

milhomem avatar Jul 16 '20 00:07 milhomem