您可以在 iOS7 或 iOS8 中以编程方式更改 Iphone 的隐私设置吗
Can you change Iphone's Privacy Settings programmatically in iOS7 or iOS8
我有一个应用程序使用位置服务和后台应用程序刷新,我想在我自己的应用程序的设置页面中包含这两个首选项,以便用户可以在一个地方执行此操作,而不是转到设置应用程序。
iOS7或iOS8有可能吗?我知道有几个应用程序正在这样做。
将提示获取应用程序定位服务的初始警报由 OS 而不是应用程序触发。
这将被触发,因为您会在您的应用程序中启用基于位置的设置。
但是如果用户第一次拒绝它,根据 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]];
}
我有一个应用程序使用位置服务和后台应用程序刷新,我想在我自己的应用程序的设置页面中包含这两个首选项,以便用户可以在一个地方执行此操作,而不是转到设置应用程序。
iOS7或iOS8有可能吗?我知道有几个应用程序正在这样做。
将提示获取应用程序定位服务的初始警报由 OS 而不是应用程序触发。 这将被触发,因为您会在您的应用程序中启用基于位置的设置。
但是如果用户第一次拒绝它,根据 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]];
}