iOS获取当前连接的WiFi以及IP地址
更新时间:2017年03月30日 10:35:50 作者:张无忌!
本文主要介绍了iOS获取当前连接的WiFi以及IP地址方法的核心代码。具有很好的参考价值,下面跟着小编一起来看下吧
导入头文件
#import <ifaddrs.h> #import <arpa/inet.h> #import <SystemConfiguration/CaptiveNetwork.h>
核心代码:
+ (nullable NSString*)getCurrentLocalIP { NSString *address = nil; struct ifaddrs *interfaces = NULL; struct ifaddrs *temp_addr = NULL; int success = 0; // retrieve the current interfaces - returns 0 on success success = getifaddrs(&interfaces); if (success == 0) { // Loop through linked list of interfaces temp_addr = interfaces; while(temp_addr != NULL) { if(temp_addr->ifa_addr->sa_family == AF_INET) { // Check if interface is en0 which is the wifi connection on the iPhone if([[NSString stringWithUTF8String:temp_addr->ifa_name] isEqualToString:@"en0"]) { // Get NSString from C String address = [NSString stringWithUTF8String:inet_ntoa(((struct sockaddr_in *)temp_addr->ifa_addr)->sin_addr)]; } } temp_addr = temp_addr->ifa_next; } } // Free memory freeifaddrs(interfaces); return address; }
+ (nullable NSString *)getCurreWiFiSsid { NSArray *ifs = (__bridge_transfer id)CNCopySupportedInterfaces(); NSLog(@"Supported interfaces: %@", ifs); id info = nil; for (NSString *ifnam in ifs) { info = (__bridge_transfer id)CNCopyCurrentNetworkInfo((__bridge CFStringRef)ifnam); NSLog(@"%@ => %@", ifnam, info); if (info && [info count]) { break; } } return [(NSDictionary*)info objectForKey:@"SSID"]; }
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持脚本之家!
相关文章
iOS 条码及二维码扫描(从相册中读取条形码/二维码)及扫码过程中遇到的坑
本文主要给大家介绍ios中从手机相册中读取条形码和二维码的问题及解决办法,需要的朋友参考下2017-01-01IOS 解决推送本地国际化 loc-key 本地化失败的问题
本文主要介绍IOS 推送国际化问题,在开发 IOS 项目过程中对软件的国际化有的项目需求是需要的,这里给大家一个示例,有需要的小伙伴可以参考下2016-07-07iOS开发中使用UIScrollView实现图片轮播和点击加载
这篇文章主要介绍了iOS开发中使用UIScrollView实现图片轮播和点击加载的方法,代码基于传统的Objective-C,需要的朋友可以参考下2015-12-12iOS 11更新后及iPhone X推出后工程中遇到的问题及适配方法
这篇文章主要介绍了iOS 11更新后及iPhone X推出后工程中遇到的问题及适配,需要的朋友可以参考下2017-10-10
最新评论