由于苹果公司将NSHost转为了私有的API,为了上app store就不能使用该方法,不过还可以通过底层的方法来获得,代码如下:
- #import <unistd.h>
- #import <netdb.h>
- #import <arpa/inet.h>
- #import <string.h>
- #define MAX_BUFFER 100
- char baseHostName[MAX_BUFFER];
- gethostname(baseHostName, MAX_BUFFER);
- struct hostent *localHost = gethostbyname(baseHostName);
- if(localHost == nil)
- {
- herror("resolv");
- }
- else
- {
- struct in_addr **list = (struct in_addr **)localHost->h_addr_list;
- char ip[MAX_BUFFER];
- strcpy(ip, inet_ntoa(*list[0]));
- NSString *ipAddress = [[NSString alloc] initWithCString:ip encoding:NSASCIIStringEncoding];
- NSLog(@"local ip address is: %@", ipAddress);
- [ipAddress release];
- }
转载于:https://blog.51cto.com/yzm157/998450