gpt4 book ai didi

iPhone - 显示 "location need to be available"对话框

转载 作者:行者123 更新时间:2023-12-01 17:34:52 24 4
gpt4 key购买 nike

在设备(Iphone 4、IOS 4.2.1)上进行测试,当您使用 MapKit/CLLocationManager 时,会出现一个标准对话框,要求用户启用位置设置,并建议一个按钮转到该设置。

如果单击“确定”,则此对话框似乎再也不会出现?

我怎样才能让它再次以编程方式出现,以帮助用户通过该对话框进入正确的设置 View ?

最佳答案

好吧,不可能以编程方式调出标准对话框,要求用户允许您的应用使用位置服务。这一切都由iOS完成。

但是,您可以随时尝试通过 startUpdatingLocation 开始位置更新。 CLLocationManager上的方法实例。如果定位服务被禁用,您将收到委托(delegate)通知有关错误情况的通知,然后您可以打开对话框,要求用户进入设置并为您的应用启用定位服务...请参阅下面的过滤代码 kCLErrorDenied .

#pragma mark - CLLocationManagerDelegate
- (void)locationManager:(CLLocationManager *)inManager didFailWithError:(NSError *)inError{
if (inError.code == kCLErrorDenied) {
NSLog(@"Location manager denied access - kCLErrorDenied");
// your code to show UIAlertView telling user to re-enable location services
// for your app so they can benefit from extra functionality offered by app
}
}

请注意,您无法通过应用程序中的 URL 方案启动设置应用程序。

更新:从iOS5.1开始,您可以 不是 使用以下方法。

更新:从 iOS5 开始,您可以从应用程序启动设置:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs://"]];

关于iPhone - 显示 "location need to be available"对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7294884/

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