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备注
WIFI App-Prefs:root=WIFI  
Bluetooth App-Prefs:root=Bluetooth  
蜂窝移动网络 App-Prefs:root=MOBILE_DATA_SETTINGS_ID  
个人热点 App-Prefs:root=INTERNET_TETHERING  
VPN App-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  
Siri App-Prefs:root=SIRI  
隐私 App-Prefs:root=Privacy  
Safari App-Prefs:root=SAFARI  
音乐 App-Prefs:root=MUSIC  
照相与照相机 App-Prefs:root=Photos  
FaceTime App-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 Store App-Prefs:root=STORE  
iCloud App-Prefs:root=CASTLE  
语言设置 App-Prefs:root=General&path=INTERNATIONAL  

自带 App 和第三方 App

要打开的APPURL SchemeBundle Identifier
     
打10086 tel://10086  
App Store itms-apps://  
Safari http://muhlenxi.com/  
Maps maps://  
备忘录 mobilenotes://  
SMS sms://  
Mail mailto://  
iBooks ibooks://  
Music music://  
Videos videos://  
   
QQ mqq://  
微信 weixin://  
淘宝 taobao://  
支付宝 alipay://  
新浪微博 sinaweibo://  
知乎 zhihu://  

posted on 2017-12-12 18:07  程序“猿”  阅读(1879)  评论(0编辑  收藏  举报

导航