头文件
- #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中不得包含头文件;找了好久,终于找到这段代码,分享一下