在升级到iOS13以后忽然发现无法获取WiFi名称(SSID),在iOS13以下我们可以通过下面的方法获取当前所连WiFi的名称等信息

//引入系统提供的官方库
#import <SystemConfiguration/CaptiveNetwork.h>/*获取当前WiFi的账号*/
+ (NSString*)getWifiList{NSArray *ifs = (__bridge_transfer id)CNCopySupportedInterfaces();id info = nil;for (NSString *ifnam in ifs) {info = (__bridge_transfer id)CNCopyCurrentNetworkInfo((__bridge CFStringRef)ifnam);NSLog(@"%@ => %@", ifnam, info);  //单个数据info[@"SSID"]; info[@"BSSID"];if (info && [info count]) {return [NSToolObject isEmptyOrNull:info[@"SSID"]] ? @"" : info[@"SSID"];}}return @"";
}

可是在升级几iOS13这个方法就不好用了,而在iOS12还是依然可以的。那么我们要如何获取WiFi呢?

在升级到iOS13以后我们要获取当前所连WiFi需要打开定位服务

首先我们在.plist中加入一对新的键值对

//仅当APP使用期间才可使用
Privacy - Location When In Use Usage Description

接下来我们要在使用获取WiFi的地方打开定位。

//引入定位官方库
#import <CoreLocation/CoreLocation.h>//开启定位
- (void)startLocationManager{self.locationManager = [[CLLocationManager alloc] init];[self.locationManager requestWhenInUseAuthorization];
}

可是如果用户不打开定位有的地方是不可以使用的,所以我们要写一个判断定位权限是否开启的方法


- (BOOL)determineWhetherTheAPPOpensTheLocation{if ([CLLocationManager locationServicesEnabled] && ([CLLocationManager authorizationStatus] == kCLAuthorizationStatusAuthorizedWhenInUse || [CLLocationManager authorizationStatus] ==kCLAuthorizationStatusNotDetermined || [CLLocationManager authorizationStatus] == kCLAuthorizationStatusAuthorized)) {return YES;} else {return NO;}
}

通过这个我们就可以再次获取到当前所连WiFi,当然iOS13以下可以不用打开,看大家如何使用

iOS 升级到iOS13 无法获取WiFi名称(SSID)的问题相关推荐

  1. ios13无法获取wifi名(SSID)(亲测有效)

    ios13之前获取怎样获取wifi名 iOS 怎样获取wifi名(无法获取wifi名)(亲测有效) ios13后 升级到iOS13以后,发现之前获取WiFi名称的接口失效了,返回的都是固定值" ...

  2. Android获取WiFi名称/路由器AP地址总结

    前言 谷歌有一点点的蛋疼,没想到定位也需要加上版本的判断了,再此总结下定位权限以及WiFi AP SSID的获取. 安卓9.0定位权限 安卓系统在9.0之后如果不开启手机的GPS服务功能,应用即使已经 ...

  3. iOS开发:获取WiFi名称(解决iOS12.0以上系统不能正常获取WiFi名称的方法)

    前段时间在开发过程中遇到一个问题,就是之前设置的获取手机连接WiFi名称的方法不起作用了,后来经查发现是因为新系统需要申请开启相对应的权限才能获取到手机连接的WiFi名称等信息,本章就来讲一下iOS1 ...

  4. iOS中获取WiFi的SSID(CNCopySupportedInterfaces())

    获取当前设备连接WiFi: ios5之前可以通过读取配置文件获取,ios5以后苹果修改wifi列表文件位置,只有root权限才可以读取. ios4:/System/Library/SystemConf ...

  5. flutter 获取wifi名称以及Android10获取不到wifi名称<unknown ssid>

    插件 我使用的是wifi_iot这个插件,版本是0.2.2,flutter版本是1.20.0. dependencies:flutter:sdk: flutterwifi_iot: ^0.2.2 获取 ...

  6. Android Studio WiFi 之 获取 WiFi 名称、IP、Mac

    Android 获取连接的WIFI 的一些数据(后期封装成aar 包给Unity 调用) 封装成AAR包,获取 Android 7.0 以上的 手机 mac 地址 一.Android 代码 impor ...

  7. 【unknow ssid】两种办法获取WIFI名称99%可解决

    复工第一天,今天早上客户反映某品牌手机Android10以上无法获取wifi名称,我寻思不就定位权限嘛,一看权限都有的,就是获取不到wifi名称. 原因: 不知道 解决方案:写了两个方法,如果方法1无 ...

  8. 关于Android 8.0/9.0 之后获取wifi名称为空的解决方法

    今天连接硬件设备的时候,需要用到wifi名和密码来进行绑定配对.在获取wifi名的时候,意外发现为空.于是就开始找寻解决方案. 后来找到这么一篇文章: Android获取WIFI 的ssid 方法适配 ...

  9. Android12 (S) 获取wifi名称(SSID)的方法

    目录 概述 问题分析 总结 概述 在最近开发过程中需要获取当前wifi的SSID,目前网上一般推荐 mWifiManager.getConnectionInfo() 这个方法来进行获取,但是发现在An ...

最新文章

  1. ReSIProcate源码目录下功能说明
  2. centos7 ssr一键脚本_RHEL7(Centos7)下使用shell脚本一键部署服务
  3. Python中最好用的命令行解析工具:argparse
  4. hive桌游中文规则_超火爆轻策桌游《小小城镇》新扩展——小金币大作为,邀你共筑繁荣小镇!...
  5. gorm增删查改json_gorm 关联查询请教
  6. Flutter 实例 - 加载更多的ListView
  7. JEPaas代码_((列表)输入字段值而计算
  8. Attentive Sequence to Sequence Networks
  9. css盒子模型_说说css盒子模型
  10. Swift与Objective-C的对比
  11. Given a list,rotate the list to right by k places, where k is nonegative.
  12. el表达式 多条件判断
  13. 怎么查看raid0或者raid5_海康监控磁盘阵列怎么配置?一文了解清楚
  14. Eplan p8 v2.7安装不上加密狗驱动
  15. linux操作系统拼音,linux怎么读(中文读音发音)
  16. wav 文件头 删除_Yate for mac(音频文件标记和管理工具)
  17. 电脑键盘为什么无法输入
  18. 怎么从pdf中提取图片
  19. NLM6XX系列无线无源采发仪的工作模式
  20. Python scrapy 实现网页爬虫

热门文章

  1. linux ldd命令源代码,Linux中ldd命令的用法详解
  2. 几种开源java绘图组件介绍
  3. 请将磁盘插入驱动器. 不知道咋找到呢
  4. java写测试小工具,java试题自我测试小工具
  5. 惠普自动化测试软件官网,惠普最新测试管理工具 HP ALM 11.0 详细介绍
  6. SpringBoot简单/带附件邮件发送
  7. 企业里下一代人工智能助手
  8. linux 后台运行 nohup
  9. javascript网站跳转代码
  10. Pytorch Profiler+ Tensorboard + VS Code