1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > iOS-获取当前设备的局域网以及链接的WiFi分配的IP地址

iOS-获取当前设备的局域网以及链接的WiFi分配的IP地址

时间:2020-07-21 04:27:09

相关推荐

iOS-获取当前设备的局域网以及链接的WiFi分配的IP地址

#pragma mark - 获取设备当前连接的局域网的名称(获取不到返回nil)/*** @author zm** @brief 获取设备当前连接的局域网的名称(获取不到返回nil)** @return 局域网的名称*/- (NSString *)f_getCurrentWifiSSID{NSArray *ifs = (__bridgeid)CNCopySupportedInterfaces();id info =nil;NSString *ssid =nil;for (NSString *ifnamin ifs) {info = (__bridgeid)CNCopyCurrentNetworkInfo((__bridgeCFStringRef)ifnam);if (info && [infocount]) {break;}}NSDictionary *dctySSID = (NSDictionary *)info;if(dctySSID){ssid = [dctySSIDobjectForKey:@"SSID"];}return ssid;}#pragma mark - 获取设备当前连接的wifi所分配的IP地址(获取不到返回nil)/*** @author zm** @brief 获取设备当前连接的wifi所分配的IP地址(获取不到返回nil)** @return wifi分配的IP地址*/-(NSString *)f_getCurrentWifiIP{NSString *_str_address =nil;structifaddrs *_struct_interfaces = NULL;structifaddrs *_struct_temp_addr = NULL;int int_success =0;int_success = getifaddrs(&_struct_interfaces);if (int_success ==0) { // 0表示获取成功_struct_temp_addr = _struct_interfaces;while (_struct_temp_addr !=NULL) {if( _struct_temp_addr->ifa_addr->sa_family == AF_INET) {// Check if interface is en0 which is the wifi connection on the iPhoneif ([[NSStringstringWithUTF8String:_struct_temp_addr->ifa_name]isEqualToString:@"en0"]) {// Get NSString from C String_str_address = [NSStringstringWithUTF8String:inet_ntoa(((structsockaddr_in *)_struct_temp_addr->ifa_addr)->sin_addr)];}}_struct_temp_addr = _struct_temp_addr->ifa_next;}}freeifaddrs(_struct_interfaces);return _str_address;}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。