美文网首页
iOS 获取wifi信息

iOS 获取wifi信息

作者: LV大树 | 来源:发表于2024-02-05 00:23 被阅读0次

    转发:['https://www.lookxue.com/blog/e808624e.html']
    iOS 获取wifi信息的方法有两种:使用 函数:

    iOS 获取wifi信息的方法有两种:

    1. 使用 CNCopyCurrentNetworkInfo 函数:

    该函数可以获取当前连接的 wifi 信息,包括 SSID、BSSID、SSIDDATA 等,但是需要在 info.plist 文件中添加 Privacy - Wireless Accessory Configuration 和 Privacy - Wi-Fi Information 两个权限,代码如下:

    // 引入头文件
    
    #import 
    
    // 获取wifi信息
    
    CFArrayRef myArray = CNCopySupportedInteces();
    if (myArray != nil) {
        CFDictionaryRef myDict = CNCopyCurrentNetworkInfo(CFArrayGetValueAtIndex(myArray, 0));
    
        if (myDict != nil) {
    
            NSDictionary *dict = (NSDictionary*)CFBridgingRelease(myDict);
    
            // 获取 wifi 信息
    
            NSString *ssid = [dict valueForKey:@"SSID"];
    
            NSString *bssid = [dict valueForKey:@"BSSID"];
    
            NSData *ssidData = [dict valueForKey:@"SSIDDATA"];
    
        }
    
    }
    
    1. 使用 NEHotspotHelper 库:

    NEHotspotHelper 是 iOS 8 之后提供的一个库,可以用于获取 wifi 信息,不需要在 info.plist 文件中添加任何权限,但是需要在项目中添加 NetworkExtension.framework 库,代码如下:

    // 引入头文件
    
    #import 
    
    // 获取wifi信息
    
    [[NEHotspotHelper sharedHelper] registerWithOptions:nil completion:^(NSError * _Nullable error) {
    
        if (error == nil) {
    
            [[NEHotspotHelper sharedHelper] listSupportedNetworkIntecesWithCompletionHandler:^(NSArray * _Nonnull networks) {
    
                for (NEHotspotNetwork *network in networks) {
    
                    // 获取 wifi 信息
    
                    NSString *ssid = network.SSID;
    
                    NSString *bssid = network.BSSID;
    
                    NSData *ssidData = network.SSIDData;
    
                }
    
            }];
    
        }
    
    }];
    

    相关文章

      网友评论

          本文标题:iOS 获取wifi信息

          本文链接:https://www.haomeiwen.com/subject/bakwndtx.html