名称全称服务集标识符,即无线网络的公开名称。在IOS 4.1以上版本提供了公开的方法来获取该信息。
但是最近,苹果于北京时间9月17日晚在官网发布了Xcode 10正式版,QiShare团队成员于9月18日中午统一升级以对现有项目做适配。期间,作者发现某项目使用Xcode 10编译出的iOS应用程序在12中无法获取WiFi的SSID。
敲黑板:获取WiFi的SSID是智能硬件应用中配网模块的常用功能,各大厂商要针对iOS 12适配一波了(@huawei.com;@mi.com;@360.com;@jd.com;@baidu.com;@orvibo.com;@scinan.com;
……)。 引用>获取WiFi的名称的方法如下:
+ (NSString *) wifiSSID { NSString *名称=零; NSArray * ifs=(__bridge_transfer id) CNCopySupportedInterfaces (); 在ifs (NSString * ifnam) { NSDictionary *信息=(__bridge_transfer id) CNCopyCurrentNetworkInfo ((__bridge CFStringRef) ifnam); 如果信息[@ "名称"]){ 名称=info(@ "名称"); } } 返回名称; }在iOS 12中,经断点调试发现信息为零。猜测是CNCopyCurrentNetworkInfo方法在iOS 12中有了变化。通过查看官方文档,发现文档中增加了重要的字样的描述:
解决方案步骤图示
按照上述方案操作完毕后,会发现工程的。权利文件中多了一对键值: