检测无线网络的名称
是否可以运行一个方法来返回用户所连接的无线网络的名称? 在我的应用程序内部,我希望能够返回用户所连接的无线网络的名称。
这对我来说很完美:
#import 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];
从Developer.apple ,您可以使用CNCopyCurrentNetworkInfo
它返回给定网络接口的当前网络信息。
CFDictionaryRef CNCopyCurrentNetworkInfo ( CFStringRef interfaceName );
它包含一个包含接口当前网络信息的字典。 所有权遵循创建规则。
注意 :适用于iOS 4.1及更高版本 。
例:
这个例子在真实设备中可以正常工作,它可能会在模拟器中崩溃。
添加SystemConfiguration.framework
导入 CaptiveNetwork
标头,如下所示
#import
然后写下面的代码。
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应用程序
- 当按下lockingbutton时AVAudioRecorder停止
- 来自Facebook的高分辨率图像
- 将stringMM / DD / YYYY转换为NSDate
- 我可以从NSHTTPURLResponse中的HTTP状态行访问“Reason Phrase”(原因短语)吗?
- ABAddressBookCopyArrayOfAllPeopleInSourceWithSortOrdering的代码示例?
- iOS编辑tableview隐藏单元格中的子视图
- Phonegap应用程序:外部URL不在IOS的InApp浏览器中打开
- 使用AFNetworking 3.0上传图像
- cordova运行与ios错误..错误代码65为命令:xcodebuild与args: