標籤:
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使用許可權這一重要方面提高使用者體驗。以我為例,使用者甚至會因為日曆未被授權而不能繼續使用應用程式。因此,我最大的興趣就是讓使用者更改設定中的許可權變得簡單易行。同樣,這也適用於許多其他的應用程式。
App的設定