我正在开发一个使用位置服务的应用。我只想通过在应用设置中切换UISwitch来禁用该应用的位置。那么我可以从应用程序本身启用或禁用访问位置吗?
答案 0 :(得分:1)
您可以将该开关绑定到在User Defaults中设置布尔值的方法(类似于USER_LOCATION_ENABLED)。
-(void)switchAction:(id)sender {
UISwitch *theSwitch = (UISwitch *)sender;
if(theSwitch.isOn) {
[[NSUserDefaults standardDefaults] setObject:YES forKey:@"USER_LOCATION_ENABLED"];
} else {
[[NSUserDefaults standardDefaults] setObject:NO forKey:@"USER_LOCATION_ENABLED"];
}
[[NSUserDefaults standardDefaults] synchronize];
}
然后,在您的代码中,如果USER_LOCATION_ENABLED设置为true,则仅启动位置服务。
-(void)startLocationServices {
if([[NSUserDefaults standardDefaults] objectForKey:@"USER_LOCATION_ENABLED"]) {
[locationManager startUpdatingLocation];
{
}