iOS8以上的系统应用能够与设置进行深层的交互,用户能够根据APP的须要进行对应的权限的设置。swift
如今大多数的APP依旧仅仅是弹出一个包含操做指令的警示窗口,如“进入设置>隐私>位置>APP”。其实在高版本的系统中能够直接弹出一个警示窗口,提示内容是本身的APP须要的权限,点击肯定按钮能够直接跳到设置中的APP自己的权限设置界面。具体的操做方式及代码在下面。app
举例:翻译
一下是一个日历相关应用程序的警告代码,其中包含了为用户设置的选项。blog
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中就能实现与用户设置进行深层连接get
if let appSettings = NSURL(string: UIApplicationOpenSettingsURLString) { UIApplication.sharedApplication().openURL(appSettings) }
当用户点击打开设置的时候,他们就很方便的进入了这个界面string
只需添加这三行代码,就能在激活APP使用权限这一重要方面提升用户体验。让用户更改设置中的权限变得简单易行。一样,这也适用于许多其余的应用程序。it
文章内容参考自:本文由CocoaChina译者Kaming翻译,原文:iOS: You’re Doing Settings Wrong。io