首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >捕获所有Wi网络并保存到列表中

捕获所有Wi网络并保存到列表中
EN

Stack Overflow用户
提问于 2013-08-30 16:54:45
回答 1查看 1.5K关注 0票数 0

利用CoreWLAN Cocoa库获取Wi网络

我正在试图获得一个Wi网络的列表,我现在的mac可以看到使用CoreWLAN库,但没有用。我一直在使用他们网站上的苹果的例子

我特别需要的是一个列表(数组):

  • 可用网络名称
  • 他们的密码/加密类型

下面是我的代码,它现在显然被废弃了,并且当我NSLog("%@", currentNetworkName)时什么也不做

代码语言:javascript
复制
self.currentInterface = [CWInterface interfaceWithName:[CWInterface supportedInterfaces];
NSString *currentNetworkName = nil;
currentNetworkSSID =  [self.currentInterface ssid];

谢谢你的帮助!

EN

回答 1

Stack Overflow用户

发布于 2014-01-09 07:22:11

您可以使用CoreWLAN框架。

下面是一些在小牛身上测试的示例代码(10.9.1)

代码语言:javascript
复制
CWInterface* interface = [[CWInterface alloc] initWithInterfaceName:@"en1"];
    NSError* error;
    NSSet* wifi = [interface scanForNetworksWithName:nil error:&error];
    if (error) {
        NSLog(@"%@", [error description]);
    } else {
        [wifi enumerateObjectsUsingBlock:^(id obj, BOOL *stop) {
            CWNetwork* net = (CWNetwork*)obj;
            NSLog(@"%@", net.ssid);
         }
    }

CWNetwork类有一个检查安全性的方法:

代码语言:javascript
复制
- (BOOL)supportsSecurity:(CWSecurity)security;

使用CWSecurity:

代码语言:javascript
复制
enum {
   kCWSecurityNone = 0,
   kCWSecurityWEP = 1,
   kCWSecurityWPAPersonal = 2,
   kCWSecurityWPAPersonalMixed = 3,
   kCWSecurityWPA2Personal = 4,
   kCWSecurityPersonal = 5,
   kCWSecurityDynamicWEP = 6,
   kCWSecurityWPAEnterprise = 7,
   kCWSecurityWPAEnterpriseMixed = 8,
   kCWSecurityWPA2Enterprise = 9,
   kCWSecurityEnterprise = 10,
   kCWSecurityUnknown = NSIntegerMax,
};
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18537962

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档