是否可以运行一个方法,该方法将返回用户所连接的无线网络的名称?在我的应用程序内部,我希望能够返回用户连接到的无线网络的名称。检测无线网络的名称
回答
这工作适合我:
#import <SystemConfiguration/CaptiveNetwork.h>
CFArrayRef myArray = CNCopySupportedInterfaces();
CFDictionaryRef myDict = CNCopyCurrentNetworkInfo(CFArrayGetValueAtIndex(myArray, 0));
// NSLog(@"SSID: %@",CFDictionaryGetValue(myDict, kCNNetworkInfoKeySSID));
NSString *networkName = CFDictionaryGetValue(myDict, kCNNetworkInfoKeySSID);
if ([networkName isEqualToString:@"Hot Dog"])
{
self.storeNameController = [[StoreDataController alloc] init];
[self.storeNameController addStoreNamesObject];
}
else {
UIAlertView *alert = [[UIAlertView alloc]initWithTitle: @"Connection Failed"
message: @"Please connect to the Hot Dog network and try again"
delegate: self
cancelButtonTitle: @"Close"
otherButtonTitles: nil];
[alert show];
如何释放CNCopySupportedInterfaces和CNCopyCurrentNetworkInfo的返回值?文档声明你“必须”释放返回值。 – Stavash
坏消息:'CNCopyCurrentNetworkInfo'已被弃用:iOS 9.0首次弃用 - 对于强制网络应用程序,这已被
从Developer.apple,您可以使用CNCopyCurrentNetworkInfo
它返回给定的网络接口的当前网络信息。
CFDictionaryRef CNCopyCurrentNetworkInfo (
CFStringRef interfaceName
);
它包含一个包含接口当前网络信息的字典。所有权遵循创建规则。
注意:可提供的iOS 4.1及更高版本。
例:
这个例子将在真实的设备正常工作,它可以在模拟器崩溃。
添加SystemConfiguration.framework
导入CaptiveNetwork
头下同
#import <SystemConfiguration/CaptiveNetwork.h>
然后写下面的代码。
CFArrayRef myArray = CNCopySupportedInterfaces();
// Get the dictionary containing the captive network infomation
CFDictionaryRef captiveNtwrkDict = CNCopyCurrentNetworkInfo(CFArrayGetValueAtIndex(myArray, 0));
NSLog(@"Information of the network we're connected to: %@", captiveNtwrkDict);
NSDictionary *dict = (__bridge NSDictionary*) captiveNtwrkDict;
NSString* ssid = [dict objectForKey:@"SSID"];
NSLog(@"network name: %@",ssid);
或
使用的Bonjour,应用程序都通告本身在本地网络上,并显示网络
在本申请的其他实例的列表见样品Witap应用
的'CNCopyCurrentNetworkInfo'听起来很有前途,但我有麻烦它正常运行。 Wifi的接口名称是什么?我搜索了它,但没有运气。 –
我编辑了我的答案..请检查它' –
这是事实,这可能会在模拟器记录在任何地方崩溃?它在模拟器中为我工作了好几个星期,然后突然可靠地崩溃了。 –
- 1. iOS API检测无线网络
- 2. 网络名称
- 3. 检测服务器连接到的网络的名称
- 4. 如何批量检索当前连接的无线网络的名称?
- 5. x64网络实例名称上的SQL Server检测
- 6. 检测连接到无线网络的手机 - C#
- 7. 检测尚未与无线网络建立连接的无线计算机
- 8. jcifs.smb.SmbException:网络名称无法找到
- 9. 无法找到网络名称
- 10. 不断检查无线网络变化
- 11. 如何检测网络,并打开无线设置
- 12. 检索网络服务器上所有网站的名称
- 13. wifi网络接口名称
- 14. 检测UTF8名称
- 15. 网络在线监测
- 16. 检测网络连接
- 17. android GPRS检测网络?
- 18. 检测Windows网络类型
- 19. Facebook网络钓鱼检测
- 20. 检测广域网无线电关闭
- 21. 检测LaTeX类的名称
- 22. 如何通过IP地址Android找到无线网络设备的名称?
- 23. ubuntu:操纵无线网络
- 24. 无线网络c程序
- 25. windows移动无线网络
- 26. 模拟无线网络OMNet ++
- 27. 连接到无线网络
- 28. C++命名管道通过网络无效名称错误
- 29. 任何方式来检测无线网络上的iPad或iPhone?你好?
- 30. 无网络测量距离
看一看这个问题: http://stackoverflow.com/questions/5198716/iphone-get-ssid-without-private-library –