iOS 获取IP地址

来源:互联网 发布:表情微笑知乎 编辑:程序博客网 时间:2024/05/17 00:55

// Get IP Address

- (NSString *)getIPAddress {

    NSString *address =@"error";

    structifaddrs *interfaces =NULL;

    structifaddrs *temp_addr =NULL;

    int success =0;

    // retrieve the current interfaces - returns 0 on success

    success = getifaddrs(&interfaces);

    if (success ==0) {

        // Loop through linked list of interfaces

        temp_addr = interfaces;

        while(temp_addr !=NULL) {

            if(temp_addr->ifa_addr->sa_family ==AF_INET) {

                // Check if interface is en0 which is the wifi connection on the iPhone

                if([[NSStringstringWithUTF8String:temp_addr->ifa_name]isEqualToString:@"en0"]) {

                    // Get NSString from C String

                    address = [NSStringstringWithUTF8String:inet_ntoa(((structsockaddr_in *)temp_addr->ifa_addr)->sin_addr)];

                }

            }

            temp_addr = temp_addr->ifa_next;

        }

    }

    // Free memory

    freeifaddrs(interfaces);

    return address;

}


0 0
原创粉丝点击