iOS跳轉(zhuǎn)到“通知”(指定應(yīng)用)

App的通知功能有時(shí)候會(huì)被用戶不小心禁止,怎樣做才能方便用戶在“設(shè)置”中重新開啟呢?可以使用URL scheme。iOS系統(tǒng)的“設(shè)置”有自己定義的URL scheme,通過(guò)訪問(wèn)這個(gè)URL就可以快速跳轉(zhuǎn)到設(shè)置界面。

首先聲明要使用到的URL scheme

跳轉(zhuǎn)到“設(shè)置”首頁(yè)

let url = NSURL.init(string: "prefs:root")!
UIApplication.sharedApplication().openURL(url)

跳轉(zhuǎn)到“通知”首頁(yè)

let str = "prefs:root=NOTIFICATIONS_ID"
let url = NSURL.init(string: str)!
UIApplication.sharedApplication().openURL(url)

跳轉(zhuǎn)到自己App的“通知”

//注意是獲取bundleIdentifier, Stack Overflow上一些回答居然說(shuō)是BundleDisplayName。
let identifier = NSBundle.mainBundle().bundleIdentifier!
let str = "prefs:root=NOTIFICATIONS_ID&path=\(identifier)"
let url = NSURL.init(string: str)!
UIApplication.sharedApplication().openURL(url)

首先獲取自己App的bundleIdentifer,然后拼在prefs:root=NOTIFICATIONS_ID&path=之后。這里要注意NSBundle.mainBundle().bundleIdentifier返回的是option類型,一定要轉(zhuǎn)成String類型的,這樣生成的url才是有效的。Option類型雖然可以直接與字符串拼合但會(huì)插入其他字符。

var str: String? = "I am String"
print(str)

輸出:"Optional("I am String")\n"

跳轉(zhuǎn)到“設(shè)置”中其他位置

URL Scheme 位置
prefs:root=General 通用
prefs:root=General&path=Network/VPN VPN

可以到這里查看更多可以跳轉(zhuǎn)的地方,記得一定要多測(cè)試!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,886評(píng)論 18 139
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,132評(píng)論 25 708
  • 世界最登對(duì)夫妻--好萊塢影星安吉麗娜·朱莉與布拉德·皮特于當(dāng)?shù)貢r(shí)間2016年9月15日離婚。消息傳出,好多網(wǎng)友...
    無(wú)邊的藍(lán)海閱讀 442評(píng)論 2 2
  • 2017.12.9號(hào),一連十多天的感冒反復(fù)發(fā)燒,最后沒辦法去青醫(yī)附院檢查出凱旋得的是肺炎,就一直打吊瓶,6號(hào)去一趟...
    張凱旋媽媽閱讀 231評(píng)論 1 1
  • 夏至惜夏長(zhǎng),消暑清苦涼。 盛極始減數(shù),半夏數(shù)時(shí)光。
    墨跡簡(jiǎn)書閱讀 234評(píng)論 4 3