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!