IOS学习——获取iPhone的IP地址

来源:互联网 发布:mac修改dock 图标 编辑:程序博客网 时间:2024/06/05 17:25
#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:@"en1"])                {                    // 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);      return address;}


转载自:http://www.sharejs.com/codes/objectc/3902