How to find IP Address of iPhone

Programmatically get IP Address of iPhone/iPad/iPod

The iOS SDK does not provide any simple way to get IP address of device programmatically. So the only way left is to get it by c code. So here we go –

Step 1 – Add these header file in your code –

 #include <ifaddrs.h>
#include <arpa/inet.h>
 

Step 2 – And here is the real code –


- (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 
	freeifaddrs(interfaces); 
	return address; 
	
} 

Hope it saves someone’s time!

8 thoughts on “How to find IP Address of iPhone”

  1. hi actually i want to write a code,that is if any body used my code in his application that time i have to track their ip address of the iphone

  2. Hi Haribabu, You can get ip address by the code above .. then call your web service which will post the ip on your server.

    1. What if your app is for offline use?Then you must calculate it on device itself. Also calling a web service may delay for functions ..

Leave a Reply

Your email address will not be published. Required fields are marked *