美文网首页
iOS 12 获取SSID

iOS 12 获取SSID

作者: 小凡凡520 | 来源:发表于2018-09-25 15:04 被阅读151次
获取SSID的方法
+ (NSString *)wifiSSID {

      NSString *ssid = nil;
      NSArray *ifs = (__bridge_transfer id)CNCopySupportedInterfaces();
      for (NSString *ifnam in ifs) {
          NSDictionary *info = (__bridge_transfer id)CNCopyCurrentNetworkInfo((__bridge CFStringRef)ifnam);
          if (info[@"SSID"]) {
              ssid = info[@"SSID"];
          }
      }
      return ssid;
  }
问题

在iOS 12中,经断点调试发现info为nil。猜测是CNCopyCurrentNetworkInfo方法在iOS 12中有了变化。通过查看官方文档,发现文档中增加了Important字样的描述:


1977357-c6edcac63870539a.png
解决方案

看到这里,解决方案就有了:Xcode -> [Project Name] -> Targets -> [Target Name] -> Capabilities -> Access WiFi Information -> ON

1977357-440a2e179fbe5040.png

按照上述方案操作完毕后,会发现工程的.entitlements文件中多了一对Key-Value:


1977357-ca973ac66e85ba9e.png

至此,就能在iOS 12+中正常获取到WiFi的SSID了。

相关文章

网友评论

      本文标题:iOS 12 获取SSID

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