美文网首页
WiFi配网1 - 获取本机连接的WiFi名称

WiFi配网1 - 获取本机连接的WiFi名称

作者: 何以_aaa | 来源:发表于2021-02-24 16:31 被阅读0次

项目暂时告一段落,整理下大概功能及遇到的问题。

需求:给WiFi对讲机配网
大概流程:1.获取本机连接的WiFi名称 2.将WiFi名称和密码发送给设备

1.1 开启WiFi功能权限

如下图,点击+Capability,选择添加 Access WiFi Information


开启WiFi功能.png

1.2 获取定位权限

iOS13后需要开启定位权限后,才能获取WiFi名称,记得在info.plist添加相应描述:
Privacy - Location Always and When In Use Usage Description
Privacy - Location Always Usage Description
Privacy - Location When In Use Usage Description

- (void)openUserLocationAuth {
    if (![self getUserLocationAuth]) {
        CLLocationManager *locationManager = [[CLLocationManager alloc]init];
        [locationManager requestWhenInUseAuthorization];
    }
}

- (BOOL)getUserLocationAuth {
    BOOL result = NO;
    switch ([CLLocationManager authorizationStatus]) {
        case kCLAuthorizationStatusNotDetermined:
            break;
        case kCLAuthorizationStatusRestricted:
            break;
        case kCLAuthorizationStatusDenied:
            break;
        case kCLAuthorizationStatusAuthorizedAlways:
            result = YES;
            break;
        case kCLAuthorizationStatusAuthorizedWhenInUse:
            result = YES;
            break;
            
        default:
            break;
    }
    return result;
}

1.3 获取WiFi名称

#import<SystemConfiguration/CaptiveNetwork.h>

- (NSString *)getSSID {
    NSDictionary *netInfo = [self fetchSSIDInfo];
    NSString *ssidStr = [netInfo objectForKey:@"SSID"];
    return ssidStr;
}
/**
 *  获取SSID信息
 *
 *  @return id
 */
- (id)fetchSSIDInfo {
    NSArray *ifs = (__bridge_transfer id)CNCopySupportedInterfaces();
    id info = nil;
    for (NSString *ifnam in ifs) {
        info = (__bridge_transfer id)CNCopyCurrentNetworkInfo((__bridge CFStringRef)ifnam);
        
        if (info && [info count]) {
            break;
        }
    }
    return info;
}

注:当前方法仅能获取手机连接的WiFi,如果想获得扫描的WiFi列表,参考如下:
获得WiFi列表

相关文章

  • WiFi配网1 - 获取本机连接的WiFi名称

    项目暂时告一段落,整理下大概功能及遇到的问题。 需求:给WiFi对讲机配网大概流程:1.获取本机连接的WiFi名称...

  • WiFi配网2 - 配网

    项目暂时告一段落,整理下大概功能及遇到的问题。 需求:给WiFi对讲机配网大概流程:1.获取本机连接的WiFi名称...

  • iOS获取手机WiFi名称

    应用的场景一般是:和硬件设备连接,需要软件获取WiFi名称,手动输入密码后,进行硬件配网操作。 1.进入开发者中心...

  • ARR mobile phone网控

    1·打开机器WiFi,手机连接,WiFi密码如图获取“WIFI Host password” 2·进入WiFi,“...

  • 4. IOT设备的配网问题和设备模型问题

    1. IoT设备WIFI配网及现状2. 阿里云wifi配网方案3. WIFI配网方案介绍-阿里云4. 设备模型开发...

  • 关于WifiManager开发遇到的几个坑

    需求:本人搞物联网,wifi需要上网,前提需要先让wifi模组连接上路由器,存在wifi模组配网的过程。 有两种配...

  • iOS获取WiFi名称以及Mac地址

    首先导入系统库 获取连接WiFi名称 获取Mac地址 CNCopySupportedInterfaces()返回所...

  • iOS开发 Wifi相关

    1.获取Wifi相关信息 一般我们常用Wifi信息有Wifi的名称:SSID,还有Wifi的MAC地址:BSSID...

  • iOS 有关WIFI讯息获取

    iOS 有关WIFI讯息获取 流量监测 获取wifi地址 获取wifi名称 从手机状态栏获取当前网络状态

  • 神秘“路由器”

    一、扩大wifi范围 1.获取需要扩大wifi的密码 【操作步骤1】:手机下载“万能wifi” — 安全连接【操作...

网友评论

      本文标题:WiFi配网1 - 获取本机连接的WiFi名称

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