【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;  
}  
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容