iOS跳转系统设置和打开其他APP

关于适配

通过一张图,我们可以查看到 2017-2-20 号用户的系统版本的分布比例,所以我们只要是配到 9.0 和 9.0 以上就可以满足大部分用户了。最新系统版本分布图传送门

 
选项列表图

跳转到系统设置

由于在iOS 10 以上iOS 10 以下分别是通过不同的方法打开URL的,所以我们要对系统版本做判断操作!

举例1:跳转到 系统蓝牙设置 界面

let urlStr = "App-Prefs:root=Bluetooth"
if let url = URL(string:urlStr) {
    if #available(iOS 10.0, *) {
        UIApplication.shared.open(url, options: Dictionary(), completionHandler: nil)
    } else {
        // Fallback on earlier versions
        UIApplication.shared.openURL(url)
    }
}

打开其他APP

举例2:打开 App Store 应用

let urlStr = "itms-apps://"
if let url = URL(string:urlStr) {
    if #available(iOS 10.0, *) {
        UIApplication.shared.open(url, options: Dictionary(), completionHandler: nil)
    } else {
        // Fallback on earlier versions
        UIApplication.shared.openURL(url)
    }
}

常用的第三方应用都定义了不同的 URL Scheme,我们通过 UIApplication.shared.open() 方法打开相应的URL,即可跳转到对应的 App 中。iOS10 以下的系统则是使用 UIApplication.shared.openURL() 方法

举例3:打开 微信 应用

let urlStr = "weixin://"
if let url = URL(string:urlStr) {
    if #available(iOS 10.0, *) {
        UIApplication.shared.open(url, options: Dictionary(), completionHandler: nil)
    } else {
        // Fallback on earlier versions
        UIApplication.shared.openURL(url)
    }
}

了解更多详情,请下载本文 demo 研究!本文的 Demo 在 10.2.19.3.2 的真机上都测试过,相关操作均能正常执行!

本文demo

GitHub传送

亲测可以正常使用的 URL Scheme

系统设置
要跳转的设置界面URL String备注
WIFIApp-Prefs:root=WIFI 
BluetoothApp-Prefs:root=Bluetooth 
蜂窝移动网络App-Prefs:root=MOBILE_DATA_SETTINGS_ID 
个人热点App-Prefs:root=INTERNET_TETHERING 
VPNApp-Prefs:root=VPN 
运营商App-Prefs:root=Carrier 
通知App-Prefs:root=NOTIFICATIONS_ID 
定位服务App-Prefs:root=Privacy&path=LOCATION 
通用App-Prefs:root=General 
关于本机App-Prefs:root=General&path=About 
键盘App-Prefs:root=General&path=Keyboard 
辅助功能App-Prefs:root=General&path=ACCESSIBILITY 
语言与地区App-Prefs:root=General&path=INTERNATIONAL 
还原App-Prefs:root=General&path=Reset 
墙纸App-Prefs:root=Wallpaper 
SiriApp-Prefs:root=SIRI 
隐私App-Prefs:root=Privacy 
SafariApp-Prefs:root=SAFARI 
音乐App-Prefs:root=MUSIC 
照相与照相机App-Prefs:root=Photos 
FaceTimeApp-Prefs:root=FACETIME 
电池电量App-Prefs:root=BATTERY_USAGE 
存储空间App-Prefs:root=General&path=STORAGE_ICLOUD_USAGE/DEVICE_STORAGE 
显示与亮度App-Prefs:root=DISPLAY 
声音设置App-Prefs:root=Sounds 
App StoreApp-Prefs:root=STORE 
iCloudApp-Prefs:root=CASTLE 
语言设置App-Prefs:root=General&path=INTERNATIONAL 
自带 App 和第三方 App
要打开的APPURL SchemeBundle Identifier
   
打10086tel://10086 
App Storeitms-apps:// 
Safarihttp://muhlenxi.com/ 
Mapsmaps:// 
备忘录mobilenotes:// 
SMSsms:// 
Mailmailto:// 
iBooksibooks:// 
Musicmusic:// 
Videosvideos:// 
  
QQmqq:// 
微信weixin:// 
淘宝taobao:// 
支付宝alipay:// 
新浪微博sinaweibo:// 
知乎zhihu:// 

转载于:https://www.cnblogs.com/lys-iOS-study/p/8029075.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值