由于苹果是闭源的,所以我们不能像安卓那样对一些东西进行操作,比如WIFI,通过使用一些私有的API并在越狱的iPhone上面或许你能够实现那些功能,但是这样做有很大的局限性:1.私有API苹果审核不会让你通过,2.现在很多iPhone用户都不再选择越狱,但是如果我们仅仅想要知道自己现在所连接的WiFi叫啥名我们还是可以通过苹果提供的共有API去实现的。这就要用到SystemConfiguration.framework这个框架了。废话不多说,直接上代码:
//导入框架头文件
#import <SystemConfiguration/CaptiveNetwork.h>
@interface ViewController ()
//定义一个label用于显示当前所连WiFi名称
@property (weak, nonatomic) IBOutlet UILabel *l1;
@property (weak, nonatomic) IBOutlet UILabel *l2;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
id info = nil;
NSArray *ifs = (__bridge_transfer id)CNCopySupportedInterfaces();
for (NSString *ifnam in ifs) {
info = (__bridge_transfer id)CNCopyCurrentNetworkInfo((__bridge CFStringRef)ifnam);
NSString *str = info[@"SSID"];
NSString *str2 = info[@"BSSID"];
NSString *str3 = [[ NSString alloc] initWithData:info[@"SSIDDATA"] encoding:NSUTF8StringEncoding];
_l1.text = str;
_l2.text = str2;
}
}
@end
这样我们就获取到了当前你所连接的WiFi名称啦!效果图如下: