好久没写一些分享了、刚好今天有做到以前的一个项目突然发现iOS12更新后 当初iOS9系统获取wifi的方法不能用了、或者说获取ssid为空。着急用就忙着看了一下官网文档发现好像复杂了好多! iOS9之后回去wifi名称的几个步骤:
1.向 Apple 申请开发 Network Extension 权限;
写封邮件给 networkextension@apple.com ,向苹果要开发 Network Extension 的权限。申请邮件内容如下所示,仅供参考:
Hi, I am a personal developer on ios9, I am using xcode8.0 to develop app, AppleID:XXXXXXXXXX, I want to get SSID and BSSID and RSSI by scanning near WiFi, I hope to get the NetworkExtension permission, please approve!
苹果收到邮件后会自动回复邮件,然后根据苹果回复的邮件提供的链接,打开连接根据选项逐一填写,然后提交之后14天左右就可以收到苹果的确认回复邮件。
2.申请包含Network Extension 的描述文件;
申请获取WiFi权限通过之后,需要进入开发者账号里面配置创建Network Extension的描述文件,配置成功之后点击下载,下载完成双击打开描述文件。
3.配置Info.plist;
4.配置entitlements;
5. 导入头文件:
#import <NetworkExtension/NetworkExtension.h>
代码实现:
_wifiName = @"Not Found";
NSArray *ifs = CFBridgingRelease(CNCopySupportedInterfaces());
idinfo =nil;
for(NSString*ifnameinifs) {
info = (__bridge_transferid)CNCopyCurrentNetworkInfo((CFStringRef) ifname);
if(info && [infocount]) {
break;
}
}
NSDictionary *dic = (NSDictionary *)info;
_wifiName = [[dic objectForKey:@"SSID"] lowercaseString];