How to retrieve ip address of iphone programmatically

Cited From:

#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:@”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;

  // Free memory

  return address;

Blogged with the Flock Browser

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: