如何获取手机的ip地址

来源:互联网 发布:cloud9 ide java 编辑:程序博客网 时间:2024/04/28 18:22

废话不多说,直接上代码。

#import <Foundation/Foundation.h>  @interface GetIPAddress : NSObject  + (NSString *)deviceIPAdress;  @end  
#import "GetIPAddress.h"  #include <ifaddrs.h>  #include <arpa/inet.h>  @implementation GetIPAddress  + (NSString *)deviceIPAdress {    NSString *address = @"an error occurred when obtaining ip address";    struct ifaddrs *interfaces = NULL;    struct ifaddrs *temp_addr = NULL;    int success = 0;    success = getifaddrs(&interfaces);    if (success == 0) { // 0 表示获取成功      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;      }    }    freeifaddrs(interfaces);    NSLog(@"手机的IP是:%@", address);    return address;  }  @end  

参考链接:http://blog.csdn.net/chenyufeng1991/article/details/48286323

0 0