我有一个需要使用位置服务的应用程序,但尝试每分钟获取数据。这意味着即使用户在一秒钟之后允许位置服务,在刷新之前它将是另一个59。是否可以知道应用程序权限何时更改?
答案 0 :(得分:1)
好的,我会把它作为答案大声笑。
不要相信我的话,我鼓励你尝试一下,看看它是否符合你的要求。
-(void)locationManager:(CLLocationManager *)manager didChangeAuthorizationStatus:(CLAuthorizationStatus)status
{
// -----------------------------------------
// Available authorization status are:
//
// kCLAuthorizationStatusAuthorized
// kCLAuthorizationStatusDenied
// kCLAuthorizationStatusNotDetermined
// kCLAuthorizationStatusRestricted
// -----------------------------------------
if(status == kCLAuthorizationStatus...)
{
// do something here
}
}
这是一个CLLocationManager委托,因此您需要创建一个CLLocationManager对象,然后将其委托设置为self并使您的视图控制器符合CLLocationManagerDelegate协议:
// .h file
@interface MyClass <...,CLLocationManagerDelegate,UITableViewDelegate,....>
{
CLLocationManager *locationManager;
}
// in the .m file
-(void)viewDidLoad
{
...
locationManager.delegate = self
}