gpt4 book ai didi

ios - 在 iOS 上升级应用程序时重置位置服务权限

转载 作者:行者123 更新时间:2023-11-28 23:28:35 24 4
gpt4 key购买 nike

总结:

iOS/App Store 是否可以在应用升级时重置应用的位置服务权限?

详细:

在我们最近的应用升级中,我们相信,之前因启用某些功能而授予我们的应用“始终”定位服务权限的相当多的用户在首次启动时会收到“使用中定位服务”提示。我们的应用程序的新版本。由于此权限提示没有上下文,我们的许多用户此时可能选择了“不允许”。

据我所知,我们的应用无法通过代码重置用户的权限设置。有谁知道某个版本的 iOS 和/或设备组合会在应用升级时导致此行为?

我们的应用只有在授权状态设置为 kCLAuthorizationStatusNotDetermined 时才会提示用户提供定位服务权限。否则我们将开始请求位置更新。

这是我们应用程序的启动代码片段:

CLLocationManager *lmFollowMe = [[CLLocationManager alloc] init];
[lmFollowMe setDesiredAccuracy:kCLLocationAccuracyKilometer];
[lmFollowMe setDistanceFilter:1000];
[lmFollowMe setDelegate:self];
if ([lmFollowMe respondsToSelector:@selector(setAllowsBackgroundLocationUpdates:)]) {
[lmFollowMe setAllowsBackgroundLocationUpdates:NO];
}
[self setFollowMeLocationManager:lmFollowMe];
...

if ([CLLocationManager locationServicesEnabled] == YES) {
CLAuthorizationStatus status = [CLLocationManager authorizationStatus];
if (status == kCLAuthorizationStatusDenied) {
...
} else if (status == kCLAuthorizationStatusRestricted) {
...
} else if (status == kCLAuthorizationStatusNotDetermined) {

if ([self followMeStarted] == NO) {
[self setFollowMeStarted:YES];
[[self followMeLocationManager] requestWhenInUseAuthorization];
}
} else {
[[self followMeLocationManager] startUpdatingLocation];
}
...

谢谢!

最佳答案

您不能通过代码更改位置权限,但如果用户拒绝位置权限,那么您可以使用'设置''取消' 按钮显示询问位置权限的警报.

如果用户点击“设置”,您可以将用户重定向到应用程序的设置页面,以通过以下代码更新位置权限。

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]];

谢谢。

关于ios - 在 iOS 上升级应用程序时重置位置服务权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57676777/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com