UIAlertView就像"打开位置服务以允许地图确定您的位置".设置+取消

Mas*_*imo 11 iphone permissions settings uialertview cllocationmanager

我想发出此警报:

Turn On Location Services to allow maps to determine your location
Run Code Online (Sandbox Code Playgroud)

我需要"设置"和"取消",就像"地图"应用程序一样.

"设置"应该打开设置 - >常规 - >位置服务

我没有找到打开设置页面的方法.

你能帮助我吗?

谢谢

Mat*_*ick 14

创建警报非常简单,它只是一个(仿)模式UIView.

但是,无法以编程方式打开"设置"应用,至少在没有使用会阻止您的应用被批准用于App Store的私有方法的情况下.


Bra*_*ker 6

这是不可能自己完成的.但是,如果您的应用程序需要访问位置服务,操作系统将为您显示如下对话框,如下所示.

编辑:下面提到的Brant"可以通过在CLLocationManager上设置目的属性的值来自定义消息."

替代文字

  • @wanghq:可以通过在`CLLocationManager`上设置`purpose`属性的值来自定义消息. (2认同)
  • 在iOS 6.0中不推荐使用`purpose` - http://developer.apple.com/library/ios/#documentation/CoreLocation/Reference/CLLocationManager_Class/DeprecationAppendix/AppendixADeprecatedAPI.html#//apple_ref/occ/instp/CLLocationManager/purpose (2认同)

iSw*_*oop 6

您无法打开常规,Locatios等特定设置页面,但您可以在iOS 8中打开设置页面.

  - (void)openSettings
  {
      BOOL canOpenSettings = (&UIApplicationOpenSettingsURLString != NULL);
      if (canOpenSettings)
      {
          NSURL *url = [NSURL URLWithString:UIApplicationOpenSettingsURLString];
          [[UIApplication sharedApplication] openURL:url];
      }
  }
Run Code Online (Sandbox Code Playgroud)