iphone - 如何在没有私有(private)库的iPhone中获取bssid?

标签 iphone ios reachability bssid

我需要获取我的 iPhone 应用程序的 wifi 的 bssid 以确定它是否已连接。我该怎么做?

需要一些有关如何操作的指导。

最佳答案

下面的答案是从这个answer复制的。

在 iOS 4.1+ 上,您可以执行以下操作:

#import <SystemConfiguration/CaptiveNetwork.h>

- (id)fetchSSIDInfo
{
    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];
    }
    [ifs release];
    return [info autorelease];
}

示例输出:

2011-03-04 15:32:00.669 ShowSSID[4857:307] -[ShowSSIDAppDelegate fetchSSIDInfo]: Supported interfaces: (
    en0
)
2011-03-04 15:32:00.693 ShowSSID[4857:307] -[ShowSSIDAppDelegate fetchSSIDInfo]: en0 => {
    BSSID = "ca:fe:ca:fe:ca:fe";
    SSID = XXXX;
    SSIDDATA = <01234567 01234567 01234567>;
}

请注意,模拟器不支持 if。在您的设备上进行测试。

关于iphone - 如何在没有私有(private)库的iPhone中获取bssid?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15195704/

相关文章:

ios - Objective-C:如何从子类访问父私有(private)属性?

objective-c - 您在哪里调用 Reachability?

ios - 实时检查网络可达性

objective-c - UIAlertView wait_fences : failed to receive reply: 10004003

ios - UITableViewCell 中的 UIButton 不会在点击时突出显示

ios - XCODE/SK SpriteKit/如何让我的 Sprite 移动

iphone - 设备部署是否足以模拟应用程序更新?

ios - Swift:观察 NSUserDefaults 时出现 EXC_BAD_ACCESS

ios - Instant AR 框架 Apple Mach-O 链接器错误

iphone - 不使用 UINavigationController 在 UITabbarController 中显示完整 View