[英]Can you change Iphone's Privacy Settings programmatically in iOS7 or iOS8
我有一个使用位置服务和后台应用刷新的应用,我想在我自己的应用的“设置”页面中包含这两个首选项,以便用户可以在一个地方执行此操作,而不必转到设置应用。
在iOS7或iOS8中可以吗? 我知道一些正在执行此操作的应用程序。
初始警报将提示获取应用程序的位置服务,该警报由操作系统而不是由应用程序触发。 这将被触发,因为您将在应用程序中启用基于位置的设置。
但是,如果用户第一次拒绝它,则根据OS,用户更喜欢拒绝该特定应用程序的位置服务,这就是用户隐私。 由于Apple非常关注用户的隐私设置,因此要让用户再次接受这些设置,他们应该从应用程序设置中再次明确启用它,并且无法从应用程序级别实现它。 因为它与应用程序及其纯粹基于OS无关,并且作为开发人员,我们无法覆盖它。
相反,我们可以检测到用户当前的位置隐私设置,如果状态为无法访问,则可以向用户提示警报,提示用户导航到设置应用程序后可以直接更改设置。
if([CLLocationManager locationServicesEnabled]){
if([CLLocationManager authorizationStatus]==kCLAuthorizationStatusDenied){
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:ICLocalizedString(@"LocationServicesPermissionTitle")
message:ICLocalizedString(@"LocationPermissionGeoFenceMessage")
delegate:self
cancelButtonTitle:@"Settings"
otherButtonTitles:nil];
[alert show];
}
}
UIAlertView委托:
-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
[alertView dismissWithClickedButtonIndex:buttonIndex animated:YES];
[[UIApplication sharedApplication] openURL: [NSURL URLWithString: UIApplicationOpenSettingsURLString]];
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.