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

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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容