Coo*_*ude 2 objective-c ios4 ios ios5 ios6
我使用以下代码来检索iPod连接的WiFi网络的SSID.
NSArray *ifs = (id)CNCopySupportedInterfaces();
NSLog(@"%s: Supported interfaces: %@", __func__, ifs);
id info = nil;
for (NSString *ifnam in ifs) {
info = (id)CNCopyCurrentNetworkInfo((CFStringRef)ifnam);
NSLog(@"%s: %@ => %@", __func__, ifnam, info);
if (info && [info count]) {
break;
}
[info release];
}
Run Code Online (Sandbox Code Playgroud)
有时这段代码没有返回我的设备连接的网络的正确SSID.有关为什么没有正确检索SSID的指针?CNCopyCurrentNetworkInfo包是否依赖于iOS版本的设备?
谢谢.
将SystemConfiguration.framework添加到项目中.
import < SystemConfiguration/CaptiveNetwork.h >
CFArrayRef myArray = CNCopySupportedInterfaces();
CFStringRef interfaceName = CFArrayGetValueAtIndex(myArray, 0);
CFDictionaryRef captiveNtwrkDict = CNCopyCurrentNetworkInfo(interfaceName);
NSDictionary *dict = ( NSDictionary*) captiveNtwrkDict;
NSString* ssid = [dict objectForKey:@"SSID"];
NSLog(@"%s ssid : %@",__FUNCTION__, [ssid description]);
Run Code Online (Sandbox Code Playgroud)对于iOS 12及更高版本,您必须从功能启用它.
重要信息要在iOS 12及更高版本中使用此功能,请在Xcode中为您的应用启用Access WiFi信息功能.启用此功能后,Xcode会自动将Access WiFi信息权利添加到您的权利文件和应用程序ID中.文档链接
| 归档时间: |
|
| 查看次数: |
4225 次 |
| 最近记录: |