iOS获取本地ip

来源:互联网 发布:java 判断奇偶 编辑:程序博客网 时间:2024/06/12 01:19
#include <ifaddrs.h>#include <arpa/inet.h>- (NSString *)getIPAddress{    NSString *address = @"error";    struct ifaddrs *interfaces = NULL;    struct ifaddrs *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 ([[NSString stringWithUTF8String: temp_addr->ifa_name] isEqualToString:@"en0"]) {                    //Get NSString from C String                    address =[NSString stringWithUTF8String:inet_ntoa(((struct sockaddr_in *) temp_addr->ifa_addr)->sin_addr)];                }            }            temp_addr = temp_addr->ifa_next;        }    }    //Free memory    freeifaddrs(interfaces);    NSLog(@"addrees----%@",address);    return address;}
获取到ip后可以通过ip检测网络连通性
demo:
http://code.cocoachina.com/detail/194974/SimplePingHelper--%E6%A3%80%E6%B5%8B%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%BF%9E%E6%8E%A5
0 0
原创粉丝点击