你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發基礎 >> iOS:你App的設置做對了嗎?

iOS:你App的設置做對了嗎?

編輯:IOS開發基礎
  • 本文由CocoaChina譯者Kaming翻譯

  • 原文:iOS: You’re Doing Settings Wrong


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

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

IMG_4808-577x1024.png

我現在以一個心情沮喪用戶的身份寫這個帖子,希望更多的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應用程序了。

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

IMG_4811-577x1024.png

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

IMG_4812.png

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

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved