ios 获取设备的ip地址

来源:互联网 发布:淘宝助理多店共享面单 编辑:程序博客网 时间:2024/05/16 11:58

不多说,直接上代码:

1. 首先添加两个头文件:

#import<ifaddrs.h>

#import<arpa/inet.h>

2. 添加如下代码:

 //获取IP地址
-(NSString*)getIPAddress{
    NSString *address = @"error";
    struct ifaddrs *interfaces = NULL;
    struct ifaddrs *temp_addr = NULL;

    int success = 0;
    success = getifaddrs(&interfaces);
    
    if (success == 0) {
        temp_addr = interfaces;
        
        while (temp_addr != NULL) {
            if (temp_addr->ifa_addr->sa_family == AF_INET) {
                if ([[NSString stringWithUTF8String:temp_addr->ifa_name] isEqualToString:@"en0"]) {
                    address = [NSString stringWithUTF8String:inet_ntoa(((struct sockaddr_in *)temp_addr->ifa_addr)->sin_addr)];
                }
            }
            temp_addr = temp_addr->ifa_next;
        }
    }
    freeifaddrs(interfaces);
    return address;

调用上述函数即可获取ip地址。

0 0
原创粉丝点击