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