IOS开发——获取局域网IP
头文件
#include <arpa/inet.h> #include <net/if.h> #include <ifaddrs.h>
源码
- (NSString *)localIPAddress { NSString *localIP = nil; struct ifaddrs *addrs; if (getifaddrs(&addrs)==0) { const struct ifaddrs *cursor = addrs; while (cursor != NULL) { if (cursor->ifa_addr->sa_family == AF_INET && (cursor->ifa_flags & IFF_LOOPBACK) == 0) { //NSString *name = [NSString stringWithUTF8String:cursor->ifa_name]; //if ([name isEqualToString:@"en0"]) // Wi-Fi adapter { localIP = [NSString stringWithUTF8String:inet_ntoa(((struct sockaddr_in *)cursor->ifa_addr)->sin_addr)]; break; } } cursor = cursor->ifa_next; } freeifaddrs(addrs); } return localIP; }
之前用过IPAddress.h及.c的,但pch中不得包含头文件;找了好久,终于找到这段代码,分享一下