美文网首页iOSiOS小记iOS奇思怪巧
iOS 跳转到系统的设置界面

iOS 跳转到系统的设置界面

作者: Biharry | 来源:发表于2015-07-30 09:58 被阅读40693次

    在项目中,我们经常会碰到使用位置的需求。当用户设置app不允许使用位置的时候,最好的用户体验就是直接调转到系统的位置设置界面,进行设置。

    本人已经测试,在5c iOS8.3系统 和 5s iOS7.1系统中可以正常跳转


    跳转到自己的项目中

    在需要调转的按钮动作中添加如下的代码,就会跳转到设置中自己的app的设置界面,这里会有通知和位置权限的设置

    NSURL * url = [NSURL  URLWithString: UIApplicationOpenSettingsURLString];

    if ( [[UIApplication sharedApplication] canOpenURL: url] ) {

    NSURL*url = [NSURL URLWithString:UIApplicationOpenSettingsURLString];           

    [[UIApplicationsharedApplication] openURL:url];  

    }

    测试注意:新项目测试,需要请求一下位置权限或者通知权限,才可以跳进自己的app设置里面,如果没有任何权限请求,就只能跳到系统的设置界面


    跳转到系统设置的其他界面

    在点击跳转的按钮动作中添加如下代码

    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=WIFI"]];

    在项目中的info中添加 URL types

    添加 URL Schemes 为 prefs的url

    这样点击就可以跳转到wifi设置界面

    (测试手机 5c 8.3系统 5s 7.1系统)


    跳转到其他的界面的字段

    About — prefs:root=General&path=About  

    Accessibility — prefs:root=General&path=ACCESSIBILITY  

    AirplaneModeOn— prefs:root=AIRPLANE_MODE  

    Auto-Lock — prefs:root=General&path=AUTOLOCK  

    Brightness — prefs:root=Brightness  

    Bluetooth — prefs:root=General&path=Bluetooth

    Date& Time — prefs:root=General&path=DATE_AND_TIME  

    FaceTime — prefs:root=FACETIME

    General— prefs:root=General

    Keyboard — prefs:root=General&path=Keyboard  

    iCloud — prefs:root=CASTLE  iCloud 

    Storage & Backup — prefs:root=CASTLE&path=STORAGE_AND_BACKUP  

    International — prefs:root=General&path=INTERNATIONAL  

    Location Services — prefs:root=LOCATION_SERVICES  

    Music — prefs:root=MUSIC  

    Music Equalizer — prefs:root=MUSIC&path=EQ  

    Music VolumeLimit— prefs:root=MUSIC&path=VolumeLimit  

    Network — prefs:root=General&path=Network  

    Nike + iPod — prefs:root=NIKE_PLUS_IPOD  

    Notes — prefs:root=NOTES  

    Notification — prefs:root=NOTIFICATIONS_ID  

    Phone — prefs:root=Phone  

    Photos — prefs:root=Photos  

    Profile — prefs:root=General&path=ManagedConfigurationList  

    Reset — prefs:root=General&path=Reset  

    Safari — prefs:root=Safari  Siri — prefs:root=General&path=Assistant  

    Sounds — prefs:root=Sounds  

    SoftwareUpdate— prefs:root=General&path=SOFTWARE_UPDATE_LINK  

    Store — prefs:root=STORE  

    Twitter — prefs:root=TWITTER  

    Usage — prefs:root=General&path=USAGE  

    VPN — prefs:root=General&path=Network/VPN  

    Wallpaper — prefs:root=Wallpaper  

    Wi-Fi — prefs:root=WIFI

    Setting—prefs:root=INTERNET_TETHERING

    作者更多文章

    iOS项目集成“支付宝” 超级简单

    iOS: 获取不变的UDID

    iOS图标一键搞定

    相关文章

      网友评论

      • nimomeng:“跳转到自己的项目中”章节里为什么要定义两次url?
      • china码农:跳转不到WiFi设置页面啊
      • 溪浣双鲤:不错 支持一下楼主 :kissing_heart:
      • df375154cb6a:使用 NSURL*url =[NSURLURLWithString:UIApplicationOpenSettingsURLString];
        if([[UIApplicationsharedApplication] canOpenURL:url]) { [[UIApplicationsharedApplication] openURL:url]; }
        国行手机没问题, 港版的闪退,求高人指导
      • SuDream:app所有权限设置这么跳啊?在线等
      • 鱼香肉丝_我鱼呢:那楼主知道iOS10 如何跳转进入系统设置界面吗
      • 山野武夫:有人知道跳到设置里这个操作会被拒吗
        60343a0ad510:@Biharry 跳到WiFi列表会被拒。
        山野武夫:@Biharry 哦哦,三口油
        Biharry:@武哥 已经审核通过好几个版本了
      • hllovesjs:请教一下,为什么要在Info.plist得URL types里添加URL Schemes为prefs的url呢?
        hllovesjs:@益达哥 原来是这样,我刚开始自iOS7学习,谢谢您的指教
        益达哥:@hllovesjs 因为苹果在iOS5.0后把这个系统自带的URL Schemes删除了
      • silencerZiBo:我记得是有链接直接跳转到本APP设置的通知里的,具体是什么来着?请指教
        prefs:root=NOTIFICATIONS_ID是跳转所有APP的通知了
        silencerZiBo:@Biharry 前一段时间,NOTIFICATE我用过还真跳成功了,最近又不好使了。我也还在看文档。大家多交流,互相进步 :smile:
        Biharry:@子伯 只能跳到本应用的设置里面,本应用设置里面有通知设置。直接跳到本应用的通知设置的字段我还真不知道,如果你知道了,麻烦告诉我一下:grin:
      • 小凡凡520:good mark
      • RemisKrlet:iOS版本不同路径略有不同。。
      • 0bc74f36eae4:这里跳转到指定app通知设置界面,prefs:root=NOTIFICATIONS_ID是跳转到整个通知界面
      • c30ec7c7d234:请问楼主, 跳转过去之后, 在我进行设置的时候, 程序为什么会崩溃啊
      • leileiya:@稻草人的 UIKIT_EXTERN NSString *const UIApplicationOpenSettingsURLString NS_AVAILABLE_IOS(8_0); 这个apple的意思是ios8以后才能用啊,为什么你测试7.1可以的?
        SkimTblog:@leileiya 对啊
      • DamonLu:成功~
      • qiongyong:那怎么返回自己的APP呢?并且更改设置程序会奔溃,在模拟机上,真机没试过
        不谷_AndiOS:因为你修改了设置里面的东西,对应你的应用会收到系统的通知,应该是重新启动了吧
        Biharry:@qiongyong 不是iOS9,就双击home键回吧…模拟器没试过,手机都可以,试过了
      • JerryLMJ:可以跳转到设置里应用的权限设置页面 可是更改设置程序就会崩溃是为什么 博主知道是什么原因么
        bruthlee:@MajorLMJ 像相机之类的权限,系统会把APP杀掉自动重启一次
      • 6a7d0272290b:在iPad下面这些url都跳转不了?求原因
        宋鸿康iOS:我跳转成功了,就是按照博主的方法、
      • d466d754d496:不知道如何跳到系统的移动蜂窝数据 设置里
      • Zed__:确实可以,但是在可以进入通知界面的下一级控制器吗?例如跳到我的APP通知页面
        Biharry:@凳子骑
        NSURL*url =[NSURLURLWithString:UIApplicationOpenSettingsURLString];
        if([[UIApplicationsharedApplication] canOpenURL:url]) { [[UIApplicationsharedApplication] openURL:url]; }

        只有在应用请求过位置权限 或者 通知权限的时候,才会跳进自己app里面的设置呢。不然直接跳到系统设置界面
        风雨啸青锋:@稻草人的 没明白,怎么跳转到自己app 的设置 ?
        Biharry:@凳子骑 跳转到自己app设置界面,会有通知设置的选项

      本文标题:iOS 跳转到系统的设置界面

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