OC- 获取当前设备WiFi信息
2016-09-06 15:47
1046 查看
首先,获取设备WiFi信息,需要添加系统库 <SystemConfiguration/CaptiveNetwork.h> 文件,
然后,上代码:
NSDictionary *currentWifiInfo = nil;
// 获取当前的interface 数组
CFArrayRef currentInterfaces = CNCopySupportedInterfaces();
if (!currentInterfaces) {
return nil;
}
// 类型转换,将CF对象,转为NS对象,同时将该对象的引用计数交给 ARC 管理
NSArray *interfaces = (__bridge_transferNSArray *)currentInterfaces;
if (interfaces.count >0) {
for (NSString *interfaceNamein interfaces) {
// 转换类型,不改变引用计数
CFDictionaryRef dictRef = CNCopyCurrentNetworkInfo((__bridge CFStringRef)(interfaceName));
if (dictRef) {
NSDictionary *networkInfo = (__bridge_transferNSDictionary *)dictRef;
NSString *SSID = [networkInfo objectForKey:(__bridge_transfer NSString *)kCNNetworkInfoKeySSID];
NSString *BSSID = [networkInfoobjectForKey:(__bridge_transferNSString *)kCNNetworkInfoKeyBSSID];
NSData *SSIDDATA = [networkInfoobjectForKey:(__bridge_transferNSData *)kCNNetworkInfoKeySSIDData];
currentWifiInfo = @{@"SSID":SSID,
@"BSSID":BSSID,
@"SSIDDATA":SSIDDATA};
}
}
}
NSLog(@"currentWifiInfo = %@",currentWifiInfo);
然后,上代码:
NSDictionary *currentWifiInfo = nil;
// 获取当前的interface 数组
CFArrayRef currentInterfaces = CNCopySupportedInterfaces();
if (!currentInterfaces) {
return nil;
}
// 类型转换,将CF对象,转为NS对象,同时将该对象的引用计数交给 ARC 管理
NSArray *interfaces = (__bridge_transferNSArray *)currentInterfaces;
if (interfaces.count >0) {
for (NSString *interfaceNamein interfaces) {
// 转换类型,不改变引用计数
CFDictionaryRef dictRef = CNCopyCurrentNetworkInfo((__bridge CFStringRef)(interfaceName));
if (dictRef) {
NSDictionary *networkInfo = (__bridge_transferNSDictionary *)dictRef;
NSString *SSID = [networkInfo objectForKey:(__bridge_transfer NSString *)kCNNetworkInfoKeySSID];
NSString *BSSID = [networkInfoobjectForKey:(__bridge_transferNSString *)kCNNetworkInfoKeyBSSID];
NSData *SSIDDATA = [networkInfoobjectForKey:(__bridge_transferNSData *)kCNNetworkInfoKeySSIDData];
currentWifiInfo = @{@"SSID":SSID,
@"BSSID":BSSID,
@"SSIDDATA":SSIDDATA};
}
}
}
NSLog(@"currentWifiInfo = %@",currentWifiInfo);
相关文章推荐
- oc 获取当前设备系统的版本号
- IOS--OC获取app应用版本的信息和当前设备的各种信息,跳转到appstore(二)
- 获取设备当前连接的WIFI信息(No Private API)
- 如何获取当前设备的屏幕的大小初始化UIWindow
- 获取iOS设备当前ip地址
- WinAPI: waveOutGetPitch - 获取输出设备当前的音调设置(音高的倍数值)
- 获取iOS设备当前ip地址
- 用多媒体库 Bass.dll 播放 mp3 [2] - BASS_GetDeviceInfo: 获取当前音频输出设备列表
- 获取当前android设备是mips架构还是arm架构
- 获取ios设备当前的系统版本
- WinAPI: waveOutGetPlaybackRate - 获取输出设备当前的播放速度设置(默认速度值的倍数)
- 获取当前iphone设备的流量
- WinAPI: waveInGetPosition - 获取当前输入设备的输入位置
- iOS 获取 当前设备 可用内存 及当前 应用 所占内存 (转)
- cocos2dx 获取设备的当前语言
- Windows Store apps开发[15]如何获取设备当前位置
- WinAPI: waveOutGetVolume - 获取输出设备当前的音量设置
- 获取iOS设备当前ip地址
- WinAPI: waveOutGetPosition - 获取输出设备当前的播放位置
- 获取当前物理输出设备的类型