我刚刚开发了一个与信标和用户位置交互的应用程序。
我向locationManager询问requestAlwaysAuthorization权限,并在plist NSLocationAlwaysUsageDescription属性中添加了我的描述;一切都很完美!
我意识到:如果用户不接受所请求的权限,iOS会始终禁用本地化,并且在使用时会限制应用的使用。
我希望如果用户拒绝自动请求requestAlwaysAuthorization requestWhenInUseAuthorization权限!
这可以通过一些本地方法实现,或者我必须处理另一个权限的请求吗?
感谢所有人!
修改 像Shazam或Facebook这样的应用程序有三种选择" Never," "使用时"和"永远"在位置设置? 当然有一种方法可以将它们呈现给用户?!?!
答案 0 :(得分:3)
你不能这样做。如有疑问,请随时访问Apple文档。
requestAlwaysAuthorization
完成后(用户接受/拒绝),状态更改为以太kCLAuthorizationStatusDenied
或kCLAuthorizationStatusAuthorized
(或其他一些,不会&# 39; t))。
此外,requestAlwaysAuthorization
和requestWhenInUseAuthorization
都有这样的逻辑(在文档中描述)
如果当前授权状态不是kCLAuthorizationStatusNotDetermined,则此方法不执行任何操作,并且不调用locationManager:didChangeAuthorizationStatus:method。
如果用户拒绝requestAlwaysAuthorization
状态更改为kCLAuthorizationStatusDenied
,并且将来两个请求授权都将被忽略。