由于苹果公司将NSHost转为了私有的API,为了上app store就不能使用该方法,不过还可以通过底层的方法来获得,代码如下:

 

 

 
  
  1. #import <unistd.h> 
  2. #import <netdb.h> 
  3. #import <arpa/inet.h> 
  4. #import <string.h> 
  5.  
  6. #define MAX_BUFFER 100 
  7. char baseHostName[MAX_BUFFER]; 
  8. gethostname(baseHostName, MAX_BUFFER); 
  9.      
  10. struct hostent *localHost = gethostbyname(baseHostName); 
  11.      
  12. if(localHost == nil) 
  13.     herror("resolv"); 
  14. else 
  15.     struct in_addr **list = (struct in_addr **)localHost->h_addr_list; 
  16.     char ip[MAX_BUFFER]; 
  17.     strcpy(ip, inet_ntoa(*list[0])); 
  18.     NSString *ipAddress = [[NSString alloc] initWithCString:ip encoding:NSASCIIStringEncoding]; 
  19.          
  20.     NSLog(@"local ip address is: %@", ipAddress); 
  21.          
  22.     [ipAddress release];