#include
<ifaddrs.h>
#include
<arpa/inet.h>
-
(NSString *)getIPAddress
{
NSString
*address = @"error";
structifaddrs
*interfaces = NULL;
structifaddrs
*temp_addr = NULL;
intsuccess
= 0;
success
= getifaddrs(&interfaces);
if(success
== 0) {
temp_addr
= interfaces;
while(temp_addr
!= NULL) {
if(
temp_addr->ifa_addr->sa_family == AF_INET) {
if([[NSString
stringWithUTF8String:temp_addr->ifa_name] isEqualToString:@"en0"])
{
address
= [NSString stringWithUTF8String:inet_ntoa(((structsockaddr_in
*)temp_addr->ifa_addr)->sin_addr)];
}
}
temp_addr
= temp_addr->ifa_next;
}
}
freeifaddrs(interfaces);
returnaddress;
}