美文网首页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