1. 程式人生 > >解決iOS10不能跳轉系統WiFi列表的問題

解決iOS10不能跳轉系統WiFi列表的問題

第一種方式:

在iOS10更新後,系統設定跳轉被禁用,只能跳轉App設定,但是最近發現蘋果又更新了URLscheme,親測可用,建議iOS10已下,還用原來的scheme

#define iOS10 ([[UIDevice currentDevice].systemVersion doubleValue] >= 10.0)
NSString * urlString = @"App-Prefs:root=WIFI";
if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:urlString]]) {
    if
(iOS10) { [[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlString] options:@{} completionHandler:nil]; } else { [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=WIFI"]]; } }

第二種方式:
用到了私有API,慎用,若想使用並通過稽核,可以對私有方法名等加密

NSURL*url=[NSURL
URLWithString:@"Prefs:root=WIFI"]; Class LSApplicationWorkspace = NSClassFromString(@"LSApplicationWorkspace"); [[LSApplicationWorkspace performSelector:@selector(defaultWorkspace)] performSelector:@selector(openSensitiveURL:withOptions:) withObject:url withObject:nil];

附錄:iOS10之後,其它介面的跳轉

當前iOS10
支援的所有跳轉,親測可用(測試系統:10.2.1) 跳轉 寫法 無線區域網 App-Prefs:root=WIFI 藍芽 App-Prefs:root=Bluetooth 蜂窩行動網路 App-Prefs:root=MOBILE_DATA_SETTINGS_ID 個人熱點 App-Prefs:root=INTERNET_TETHERING 運營商 App-Prefs:root=Carrier 通知 App-Prefs:root=NOTIFICATIONS_ID 通用 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=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=MUSIC&path=com.apple.Music:EQ 照片與相機 App-Prefs:root=Photos FaceTime App-Prefs:root=FACETIME