iOS提醒使用者進入設定介面進行重新授權通知定位等功能,ios通知
iOS 8及以上版本最不為人知的一個特點是與應用設定的深層連結,使用者可以根據APP的需要授權啟用位置、通知、連絡人、相機、日曆以及健康等設定。
大多數應用程式僅僅是彈出一個包含操作指令的警示視窗,如“進入設定>隱私>位置>OUR_APP”。例如,推特的應用程式有一個更為精緻和友好的指示對話方塊,所以我就把它當做一個例子來使用(可惜大多數應用程式都會有一個非常糟糕的版本)。
我現在以一個心情沮喪使用者的身份寫這個文章,希望更多的iOS開發人員能與使用者佈建建立直接的深層連結,尤其是操作起來也非常容易。
以下是一個日曆相關的應用程式的警告提醒代碼,其中包含了為使用者進行設定的選項。我正試圖在其中包含一個能將使用者帶入設定的選項。
12345678910111213141516171819 |
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中就能實現與使用者佈建進行深層連結
123 |
if let appSettings = NSURL(string: UIApplicationOpenSettingsURLString) { UIApplication.sharedApplication().openURL(appSettings) } |
當使用者拒絕了授權,這就更像Swarm應用程式了。
當使用者點擊“開啟設定”時,他們就能很方便地進入這個介面。
只需添加這三行代碼,就能在啟用APP使用許可權這一重要方面提高使用者體驗。以我為例,使用者甚至會因為日曆未被授權而不能繼續使用應用程式。因此,我最大的興趣就是讓使用者更改設定中的許可權變得簡單易行。同樣,這也適用於許多其他的應用程式。
這一方法在iOS 9系統中的應用效果更好!設定介面中將有一個返回按鈕,能直接使使用者返回到您的應用程式。真沒理由不用這個方法啊!