IOS提醒用户重新授权打开定位功能

iOS 8及以上版本最不为人知的一个特点是与应用设置的深层链接,用户可以根据APP的需要授权启用位置、通知、联系人、相机、日历以及健康等设置。

大多数应用程序仅仅是弹出一个包含操作指令的警示窗口,如“进入设置>隐私>位置>OUR_APP”。例如,推特的应用程序有一个更为精致和友好的指示对话框,所以我就把它当做一个例子来使用(可惜大多数应用程序都会有一个非常糟糕的版本)。

我现在以一个心情沮丧用户的身份写这个帖子,希望更多的iOS开发者能与用户设置建立直接的深层链接,尤其是操作起来也非常容易。

以下是一个日历相关的应用程序的警告提醒代码,其中包含了为用户进行设置的选项。我正试图在其中包含一个能将用户带入设置的选项。

func showEventsAcessDeniedAlert() {
  let alertController = UIAlertController(title: "Sad Face Emoji!",
    message: "The calendar permission was not authorized. Please enable it in Settings to continue.",
    preferredStyle: .Alert)
  let settingsAction = UIAlertAction(title: "Settings", style: .Default) { (alertAction) in
    // THIS IS WHERE THE MAGIC HAPPENS!!!!
    if let appSettings = NSURL(string: UIApplicationOpenSettingsURLString) {
      UIApplication.sharedApplication().openURL(appSettings)
    }
  }
  alertController.addAction(settingsAction)
  let cancelAction = UIAlertAction(title: "Cancel", style: .Cancel, handler: nil)
  alertController.addAction(cancelAction)
  presentViewController(alertController, animated: true, completion: nil)
}

再次提醒,仅需要添加此代码到您的APP中就能实现与用户设置进行深层链接

if let appSettings = NSURL(string: UIApplicationOpenSettingsURLString) {
  UIApplication.sharedApplication().openURL(appSettings)
}

当用户拒绝了授权,这就更像Swarm应用程序了。

当用户点击“打开设置”时,他们就能很方便地进入这个界面。

只需添加这三行代码,就能在激活APP使用权限这一重要方面提高用户体验。以我为例,用户甚至会因为日历未被授权而不能继续使用应用程序。因此,我最大的兴趣就是让用户更改设置中的权限变得简单易行。同样,这也适用于许多其他的应用程序。

这一方法在iOS 9系统中的应用效果更好!设置界面中将有一个返回按钮,能直接使用户返回到您的应用程序。真没理由不用这个方法啊!

以上内容是小编简单给大家介绍的IOS提醒用户重新授权打开定位功能的全部叙述,希望大家喜欢。

(0)

相关推荐

  • iOS开发系列--地图与定位源代码详解

    概览 现在很多社交.电商.团购应用都引入了地图和定位功能,似乎地图功能不再是地图应用和导航应用所特有的.的确,有了地图和定位功能确实让我们的生活更加丰富多彩,极大的改变了我们的生活方式.例如你到了一个陌生的地方想要查找附近的酒店.超市等就可以打开软件搜索周边;类似的,还有很多团购软件可以根据你所在的位置自动为你推荐某些商品.总之,目前地图和定位功能已经大量引入到应用开发中.今天就和大家一起看一下iOS如何进行地图和定位开发. 定位 地图 定位 要实现地图.导航功能,往往需要先熟悉定位功能,在iO

  • 讲解iOS开发中基本的定位功能实现

    一.简单说明 1.CLLocationManager   CLLocationManager的常用操作和属性   开始用户定位- (void)startUpdatingLocation;   停止用户定位- (void) stopUpdatingLocation;   说明:当调用了startUpdatingLocation方法后,就开始不断地定位用户的位置,中途会频繁地调用代理的下面方法 复制代码 代码如下: - (void)locationManager:(CLLocationManager

  • iOS中定位(location manager )出现log日志的解决办法

    前言 最近发现一个问题,自iOS 10.0以后,项目中老是出现有关定位管理者的日志信息,说定位管理者最好放在主线程;在实际开发中,当在子线程中创建定位管理者,有可能收不到回调信息 提示信息如下: A location manager (0x7fbafac12560) was created on a dispatch queue executing on a thread other than the main thread. It is the developer's responsibili

  • ios百度地图的使用(普通定位、反地理编码)

    iOS定位 - 普通定位(没有地图) - 反地理编码(得到具体位置),下面通过代码给大家详解,代码如下: #import <CoreLocation/CoreLocation.h> 使用到的头文件 要引入CoreLocation这个包 <CLLocationManagerDelegate> 使用的代理名称 //1.使用定位服务 //设置app有访问定位服务的权限 //在使用应用期间 / 始终(app在后台) //info.plist文件添加以下两条(或者其中一条): //NSLoc

  • IOS 城市定位详解及简单实例

    IOS 城市定位 前言: 获取经纬度并且转换成城市 iOS8定位失败解决 获取中文城市 1.建立简单的项目, 导入CoreLoation.framework: 2.在Info.plist中加上NSLocationAlwaysUsageDescription值为AlwaysLocation: 3.使用CLLocationManager对象进行定位: _locationManger = [[CLLocationManager alloc] init]; _locationManger.delegat

  • IOS提醒用户重新授权打开定位功能

    iOS 8及以上版本最不为人知的一个特点是与应用设置的深层链接,用户可以根据APP的需要授权启用位置.通知.联系人.相机.日历以及健康等设置. 大多数应用程序仅仅是弹出一个包含操作指令的警示窗口,如"进入设置>隐私>位置>OUR_APP".例如,推特的应用程序有一个更为精致和友好的指示对话框,所以我就把它当做一个例子来使用(可惜大多数应用程序都会有一个非常糟糕的版本). 我现在以一个心情沮丧用户的身份写这个帖子,希望更多的iOS开发者能与用户设置建立直接的深层链接,尤

  • IOS CoreLocation实现系统自带定位的方法

    Core Location是iOS SDK中一个提供设备位置的框架.可以使用三种技术来获取位置:GPS.蜂窝或WiFi.在这些技术中,GPS最为精准,如果有GPS硬件,Core Location将优先使用它.如果设备没有GPS硬件(如WiFi iPad)或使用GPS获取当前位置时失败,Core Location将退而求其次,选择使用蜂窝或WiFi. Core Location的大多数功能是由位置管理器(CLLocationManager)提供的,可以使用位置管理器来指定位置更新的频率和精度,以及

  • iOS 10 和Xcode8 一起 创建 Siri 功能步骤详解(OC写的 )

    iOS 10 出来之后,我们开发者也可以使用类似Siri的功能..让我们来看看怎么使用吧,其实他是使用Siri里面的一个语音识别框架Speech framework. 让我们来看看 一些 主要的代码吧. 我们需要一个 UITextView 和 UIButton 就 能体现了. 第一步:定义属性 @interface ViewController () <SFSpeechRecognizerDelegate> @property (strong, nonatomic) UIButton *sir

  • 微信小程序用户授权弹窗 拒绝时引导用户重新授权实现

    前言 我们在开发小程序时,如果想获取用户信息,就需要获取用的授权,如果用户误点了拒绝授权,我们怎么样去正确的引导用户重新授权呢.今天就来给大家讲讲如果正确的引导用户授权. 老规矩,先看效果图 从上图可以看出,我们在用户点击拒绝授权时,我们会弹出一个提示框,提示用户去设置页重新授权,当用户去授权页重新授权以后,我们再回到首页,点击获取用户信息时,就可以成功的获取到用户信息了. 如下图蓝色框里,就是我们成功的获取的用户信息.   一,我们获取用户信息的时候需要用户授权 我们点击获取用户信息时,通常会

  • vue 实现Web端的定位功能 获取经纬度

    首先我这里的需求呢, 是获取当前用户的经纬度 经过无数次的测试, 先后用了 腾讯/百度地图的api,最后绝对还是高德的js APi 废话不多说, 直接上代码. 首先在 index.html 里面 引入 <script type="text/javascript" src="https://webapi.amap.com/maps?v=1.4.15&key=你申请的key"></script> 然后 去你需要获取的页面 开始写, 我这里

  • Android判断定位功能是否可用的方法

    定位功能是否可用由定位服务和定位权限共同决定: 判断定位服务: /** * 手机是否开启位置服务,如果没有开启那么所有app将不能使用定位功能 */ public static boolean isLocServiceEnable(Context context) { LocationManager locationManager = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE); boolean gps

  • java微信开发中的地图定位功能

    页面代码: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+&q

  • MySql安装与配置方法(MySQL添加用户、删除用户与授权)

    1.安装MySql 目前MySQL有两种形式的文件,一个是msi格式,一个是zip格式的.msi格式的直接点击setup.exe就好,按照步骤进行.但是很多人下了zip格式的解压发现没有setup.exe,本人下载的也是这样的,不知道怎么安装,点哪里都没有反应.只能寻求度娘帮助,然后才了解到,这种文件的安装方式. 1)将文件解压到自己认为合适的位置. 2)在目录下新建一个my.ini(文件中已经有一个mydefault.ini文件),新建后会将原来文件的作用覆盖掉.在文件中粘贴一下代码: [my

  • 如何使用HTML5地理位置定位功能

    HTML5提供了地理位置定位功能(Geolocation API),能确定用户位置,我们可以借助HTML5的该特性开发基于地理位置信息的应用.本文结合实例给大家分享如何使用HTML5,借助百度.谷歌地图接口来获取用户准确的地理位置信息. 定位功能(Geolocation)是HTML5的新特性,因此只有在支持HTML5的现代浏览器上运行,特别是手持设备如iphone,地理定位更加精确.首先我们要检测用户设备浏览器是否支持地理定位,如果支持则获取地理信息.注意这个特性可能侵犯用户的隐私,除非用户同意

随机推荐