信标和用户位置权限

时间:2015-01-21 15:31:34

标签: ios objective-c cllocationmanager ibeacon userlocation

我刚刚开发了一个与信标和用户位置交互的应用程序。

我向locationManager询问requestAlwaysAuthorization权限,并在plist NSLocationAlwaysUsageDescription属性中添加了我的描述;一切都很完美!

我意识到:如果用户不接受所请求的权限,iOS会始终禁用本地化,并且在使用时会限制应用的使用。

我希望如果用户拒绝自动请求requestAlwaysAuthorization requestWhenInUseAuthorization权限!

这可以通过一些本地方法实现,或者我必须处理另一个权限的请求吗?

感谢所有人!

修改 像Shazam或Facebook这样的应用程序有三种选择" Never," "使用时"和"永远"在位置设置? 当然有一种方法可以将它们呈现给用户?!?!

1 个答案:

答案 0 :(得分:3)

你不能这样做。如有疑问,请随时访问Apple文档。

https://developer.apple.com/library/ios/documentation/CoreLocation/Reference/CLLocationManager_Class/index.html#//apple_ref/occ/instm/CLLocationManager/requestAlwaysAuthorization

requestAlwaysAuthorization完成后(用户接受/拒绝),状态更改为以太kCLAuthorizationStatusDeniedkCLAuthorizationStatusAuthorized (或其他一些,不会&# 39; t))。

此外,requestAlwaysAuthorizationrequestWhenInUseAuthorization都有这样的逻辑(在文档中描述)

  

如果当前授权状态不是kCLAuthorizationStatusNotDetermined,则此方法不执行任何操作,并且不调用locationManager:didChangeAuthorizationStatus:method。

如果用户拒绝requestAlwaysAuthorization状态更改为kCLAuthorizationStatusDenied,并且将来两个请求授权都将被忽略