iOS10App跳转到系统Wi-Fi设置页面及获取WIFI名称

最近做的一个需求中,需要实现类似万能钥匙中点击一个Wi-Fi跳转到系统Wi-Fi设置界面的功能。下面是功能实现的代码。

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

类似的跳转还有如下:

无线局域网 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

只需要把对应的字符串换一下就可以了。

另外还有获取设备连接WIFI名称的方法:

- (NSString *)getWifiName {
    NSString *wifiName = @"未连接";
    NSArray *myArray = (id)CFBridgingRelease(CNCopySupportedInterfaces());
    if (myArray.count > 0) {
        NSDictionary *info = (id)CFBridgingRelease(CNCopyCurrentNetworkInfo((CFStringRef)([myArray firstObject])));
        if (info[@"SSID"]) {
            wifiName = [info valueForKey:@"SSID"];
            NSLog(@"wifiName:%@", wifiName);
        }
    }
    return wifiName;
}

链接:http://www.tuicool.com/articles/NJFRrqB

你可能感兴趣的:(iOS10App跳转到系统Wi-Fi设置页面及获取WIFI名称)