天天看点

Flutter permission_handler ios获取不到权限

Flutter SDK和其他插件升级后测试定位的时候发现,利用permission_handler判断是否有定位权限时,在Android上可以正常请求权限,获得权限授权的状态。在ios无法获取授权状态,请求授权也无法请求。即使卸载后重装,权限状态也是PermissionStatus.permanentlyDenied 永久拒绝.

然后进行排查,ios的Info.plist里的权限配置没有问题,又打开pub.dev查看了下permission_handler的readme,请求和获取权限授权状态的用法也没错。那应该是ios的还有什么配置给漏了。再认真的看了下readme。在ios的展开中,还漏了一些配置。下图所示的位置

Flutter permission_handler ios获取不到权限

在ios的Podfile里加上下面图片的代码即可,

Flutter permission_handler ios获取不到权限

需要哪些权限添加哪些就可以了,

## dart: [PermissionGroup.location, PermissionGroup.locationAlways, PermissionGroup.locationWhenInUse]
'PERMISSION_LOCATION=1',//这里的#需要去掉