美文网首页iOS开发系列iOS-开发
iOS跳转到“通知”(指定应用)

iOS跳转到“通知”(指定应用)

作者: r_lin | 来源:发表于2016-06-20 22:49 被阅读1902次

App的通知功能有时候会被用户不小心禁止,怎样做才能方便用户在“设置”中重新开启呢?可以使用URL scheme。iOS系统的“设置”有自己定义的URL scheme,通过访问这个URL就可以快速跳转到设置界面。

首先声明要使用到的URL scheme

跳转到“设置”首页

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

跳转到“通知”首页

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

跳转到自己App的“通知”

//注意是获取bundleIdentifier, Stack Overflow上一些回答居然说是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类型,一定要转成String类型的,这样生成的url才是有效的。Option类型虽然可以直接与字符串拼合但会插入其他字符。

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

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

跳转到“设置”中其他位置

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

可以到这里查看更多可以跳转的地方,记得一定要多测试!

相关文章

网友评论

    本文标题:iOS跳转到“通知”(指定应用)

    本文链接:https://www.haomeiwen.com/subject/qbvwdttx.html