我想发出此警报:
Turn On Location Services to allow maps to determine your location
我需要“设置”和“取消”,就像“地图”应用程序一样。
“设置”应该打开设置 - > general->位置服务
我没有找到打开设置页面的方法。
你能帮助我吗?
由于
答案 0 :(得分:14)
创建警报非常简单,它只是一个(仿)模式UIView。
然而,不可能以编程方式打开“设置”应用,至少在没有使用会阻止您的应用被批准用于App Store的私有方法的情况下。
答案 1 :(得分:6)
这是不可能自己完成的。但是,如果您的应用程序需要访问位置服务,操作系统将为您显示如下对话框。
编辑:下面提到的Brant“可以通过在CLLocationManager上设置目的属性的值来自定义消息。”
答案 2 :(得分:6)
您无法打开常规,Locatios等特定设置页面,但您可以在iOS 8中打开设置页面。
- (void)openSettings
{
BOOL canOpenSettings = (&UIApplicationOpenSettingsURLString != NULL);
if (canOpenSettings)
{
NSURL *url = [NSURL URLWithString:UIApplicationOpenSettingsURLString];
[[UIApplication sharedApplication] openURL:url];
}
}
答案 3 :(得分:3)
Swift 2.0版本:
func showLocationSettingAlert() {
let alertController = UIAlertController(
title: "Location Access Disabled",
message: "Location settings",
preferredStyle: .Alert)
let cancelAction = UIAlertAction(title: "Cancel", style: .Cancel, handler: nil)
alertController.addAction(cancelAction)
let openAction = UIAlertAction(title: "Open Settings", style: .Default) { (action) in
if let url = NSURL(string:UIApplicationOpenSettingsURLString) {
UIApplication.sharedApplication().openURL(url)
}
}
alertController.addAction(openAction)
self.presentViewController(alertController, animated: true, completion: nil)
}
答案 4 :(得分:2)
此时无法以编程方式打开设置窗格。请参阅here。
答案 5 :(得分:2)
这不是你添加的东西。当应用程序想要使用位置服务但是在设置中关闭时,会出现该屏幕。
推送通知也会发生同样的事情。
答案 6 :(得分:1)
其他人如说,如果您想在App Store上安装应用,则无法以编程方式打开“设置”应用 如果应用程序支持并使用定位服务等已确定的功能,则会在启动应用时自动“生成”此弹出窗口 您可以在参考库中找到有关此服务的更多信息:https://developer.apple.com/library/ios/navigation/#section=Frameworks&topic=CoreLocation