1. 程式人生 > >ios10不能跳轉wifi設定的解決

ios10不能跳轉wifi設定的解決

方法一:

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

NSString * urlString = @"App-Prefs:root=WIFI";

if ([[UIApplicationsharedApplication] canOpenURL:[NSURLURLWithString:urlString]]) {

if ([[UIDevicecurrentDevice].systemVersiondoubleValue] >= 10.0) {

                    [[

UIApplicationsharedApplication] openURL:[NSURLURLWithString:urlString] options:@{}completionHandler:nil];

                } else {

                    [[UIApplicationsharedApplication] openURL:[NSURLURLWithString:@"prefs:root=WIFI"]];

                }

            }


方法二:

用到了私有API,慎用,若想使用並通過稽核,可以對私有方法名等加密,但是在ios10.3.1上又用不了了。


NSURL*url=[NSURL URLWithString:@"Prefs:root=WIFI"]; 

Class LSApplicationWorkspace = NSClassFromString(@"LSApplicationWorkspace"); 

[[LSApplicationWorkspace performSelector:@selector(defaultWorkspace)] performSelector:@selector(openSensitiveURL:withOptions:) withObject:url withObject:nil];

其他設定調整的寫法:

無線區域網 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