iOS提醒用戶進入設置界面進行重新授權通知定位等功能


iOS 8及以上版本最不為人知的一個特點是與應用設置的深層鏈接,用戶可以根據APP的需要授權啟用位置、通知、聯系人、相機、日歷以及健康等設置。

 

大多數應用程序僅僅是彈出一個包含操作指令的警示窗口,如“進入設置>隱私>位置>OUR_APP”。例如,推特的應用程序有一個更為精致和友好的指示對話框,所以我就把它當做一個例子來使用(可惜大多數應用程序都會有一個非常糟糕的版本)。

IMG_4808-577x1024.png

我現在以一個心情沮喪用戶的身份寫這個帖子,希望更多的iOS開發者能與用戶設置建立直接的深層鏈接,尤其是操作起來也非常容易。

以下是一個日歷相關的應用程序的警告提醒代碼,其中包含了為用戶進行設置的選項。我正試圖在其中包含一個能將用戶帶入設置的選項。

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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中就能實現與用戶設置進行深層鏈接

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

當用戶拒絕了授權,這就更像Swarm應用程序了。

當用戶點擊“打開設置”時,他們就能很方便地進入這個界面。

IMG_4811-577x1024.png

只需添加這三行代碼,就能在激活APP使用權限這一重要方面提高用戶體驗。以我為例,用戶甚至會因為日歷未被授權而不能繼續使用應用程序。因此,我最大的興趣就是讓用戶更改設置中的權限變得簡單易行。同樣,這也適用於許多其他的應用程序。

IMG_4812.png

  這一方法在iOS 9系統中的應用效果更好!設置界面中將有一個返回按鈕,能直接使用戶返回到您的應用程序。真沒理由不用這個方法啊!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM