[[UIApplication sharedApplication] openURL:url];
通過給url不同的值,可以實現(xiàn)調(diào)用系統(tǒng)自帶 電話/短信/郵箱/瀏覽器/...
1、調(diào)用 電話phone
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://800888"]];
撥打電話時不出現(xiàn)確認框
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"telprompt://800888"]];
撥打電話之時彈出確認框
2、調(diào)用自帶 瀏覽器safari
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.abt.com"]];
3、調(diào)用 自帶Mail
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"mailto://admin@abt.com"]];
4、調(diào)用 SMS
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"sms://800888"]];
5、調(diào)用 app Store
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"itms-apps://"]];
6、調(diào)用 iBook
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"itms-books://"]];
7、調(diào)用 Map
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"maps://"]];
8、調(diào)用 Facetime
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"facetime://"]]; //注意后面加上faceTime的賬號如:99999@qq.com
9、調(diào)用 Music
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"music://"]];
10、跳轉(zhuǎn)到系統(tǒng)設(shè)置相關(guān)界面
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=WIFI"]];
以下為設(shè)置的跳轉(zhuǎn)關(guān)鍵字
//打開關(guān)于本機
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=General&path=About"]];
//打開輔助功能
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=General&path=ACCESSIBILITY"]];
//設(shè)置飛行模式不成功,即設(shè)置界面
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=AIRPLANE_MODE"]];
//屏幕幾分鐘之后鎖定設(shè)置
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=General&path=AUTOLOCK"]];
//打開Brightness不成功,設(shè)置界面
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=Brightness"]];
//打開藍牙設(shè)置
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=Bluetooth"]];
//設(shè)置日期與時間設(shè)置
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=General&path=DATE_AND_TIME"]];
//打開FaceTime設(shè)置
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=FACETIME"]];
//下面是打開通用設(shè)置
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=General"]];
//打開鍵盤設(shè)置
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=General&path=Keyboard"]];
//打開iClound設(shè)置
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=CASTLE"]];
//打開iCloud下的儲存空間
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=CASTLE&path=STORAGE_AND_BACKUP"]];
//打開通用下的語言和地區(qū)設(shè)置
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=General&path=INTERNATIONAL"]];
//打開隱私下的定位服務(wù)
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=LOCATION_SERVICES"]];
//打開設(shè)置下的音樂
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=MUSIC"]];
//打開音樂下的均衡器
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=MUSIC&path=EQ"]];
//打開音樂下的什么不成功
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=MUSIC&path=VolumeLimit"]];
//打開通用下的網(wǎng)絡(luò)不成功
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=General&path=Network"]];
//打開通用下的什么不成功
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=NIKE_PLUS_IPOD"]];
//打開設(shè)置下的備忘錄設(shè)置
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=NOTES"]];
//打開設(shè)置下的通知設(shè)置
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=NOTIFICATIONS_ID"]];
//打開電話設(shè)置
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=Phone"]];
//打開設(shè)置下照片和相機設(shè)置
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=Photos"]];
//打開通用下的描述文件
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=General&path=ManagedConfigurationList"]];
//打開通用下的還原設(shè)置
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=General&path=Reset"]];
//打開設(shè)置下的safari設(shè)置
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=Safari"]];
//打開siri不成功
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=General&path=Assistant"]];
//打開設(shè)置下的聲音設(shè)置
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=Sounds"]];
//打開通用下的軟件更新
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=General&path=SOFTWARE_UPDATE_LINK"]];
//打開通用下的iTounes Store和App Store設(shè)置
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=STORE"]];
//打開設(shè)置下的twitter設(shè)置
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=TWITTER"]];
//打開通用下的用量
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=General&path=USAGE"]];
//打開通用下的vpn設(shè)置
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=General&path=VPN"]];
//打開設(shè)置下的墻紙設(shè)置
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=Wallpaper"]];
//打開wifi設(shè)置
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=WIFI"]];
//打開設(shè)置中的隱私
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=Privacy"]];
//打開不成功
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root= INTERNET_TETHERING"]];
問題
在iOS10之前,跳轉(zhuǎn)到系統(tǒng)設(shè)置界面的某個指定界面的方式如下:

image.png
但是在iOS10上,調(diào)用canOpenURL:打開系統(tǒng)設(shè)置界面時控制臺會報如下錯誤,并且無法跳轉(zhuǎn):

image.png
原因是iOS10只允許如下方式跳轉(zhuǎn)到設(shè)置里自己app的界面,對跳轉(zhuǎn)到其他界面做了限制。
解決方法
可以使用 MobileCoreServices.framework 里的私有API:

image.png
頭文件參考:
LSApplicationWorkspace.h
使用方法:

image.png
MobileCoreServices.framework 不是私有庫,所以直接使用 performSelector: 即可調(diào)用私有API。
注意
- iOS10的系統(tǒng)URLScheme改成了首字母大寫,使用小寫的方式會無法打開。
- 使用私有API的app無法通過App Store審核。你也可以嘗試把私有類名和selector字符串混淆一下,繞過審核。例如 這位仁兄 用ASCII混淆的方法:

image.png
不過,還是不建議使用私有API,因為它是不可靠的。也許某天蘋果就把它移除了。