gpt4 book ai didi

objective-c - 捕获所有 Wi-fi 网络并保存到列表中

转载 作者:行者123 更新时间:2023-12-03 17:53:20 29 4
gpt4 key购买 nike

使用 CoreWLAN Cocoa 库获取 Wi-Fi 网络

我正在尝试使用 CoreWLAN 库获取我当前的 Mac 可以看到的 Wi-Fi 网络列表,但无济于事。我一直在使用Apple's example来自他们的网站。

我正在寻找的具体是以下列表(数组):

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

这是我的代码,现在显然已被弃用,并且当我 NSLog("%@", currentNetworkName) 时什么也不做:

self.currentInterface = [CWInterface interfaceWithName:[CWInterface supportedInterfaces];
NSString *currentNetworkName = nil;
currentNetworkSSID = [self.currentInterface ssid];

感谢您的帮助!

最佳答案

您可以使用CoreWLAN框架。

以下是在 Mavericks (10.9.1) 上测试的一些示例代码

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 类有一个检查安全性的方法:

- (BOOL)supportsSecurity:(CWSecurity)security;

使用 CWSecurity:

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,
};

关于objective-c - 捕获所有 Wi-fi 网络并保存到列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18537962/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com