如何在IOS5.1中打印BSSID,以便每次在同一SSID中检测到新的AP时,将打印BSSID的新值

时间:2012-05-09 02:11:33

标签: xcode ios5

我从StackOverflow中的另一篇文章中获取并修改的代码(编译没有错误):

NSError *error; 
NSArray *ifs = (NSArray *)CFBridgingRelease(CNCopySupportedInterfaces());
NSLog(@"%s: Supported interfaces: %@", __func__, ifs);
id info = nil;

for (NSString *ifnam in ifs)
{
    info = (NSDictionary *)CFBridgingRelease(CNCopyCurrentNetworkInfo((__bridge CFStringRef)ifnam));
    NSLog(@"%s: %@ => %@", __func__, ifnam, info);

    if (info && [info count])
    {
        break;
    }
}

1 个答案:

答案 0 :(得分:1)

我在iOS 5.01上尝试了代码。它对我不起作用。 我注意到发生了移交。我会解释一下。我的两个接入点,具有相同的ssid,实际上是我可以从我的iphone ping的两个路由器。 这是场景:

  1. 我最初连接到路由器A.我可以ping通路由器A的IP。代码显示A的BSSID。
  2. 我进入路由器B的范围,超出路由器A的范围。我不能再ping通路由器A,但我现在可以ping路由器B.代码继续显示A的BSSID。
  3. 虽然已经进行了切换,但CNCopyCurrentNetworkInfo不会返回新数据。 以下是为什么会发生这种情况的可能答案: https://stackoverflow.com/a/11304701