Make Better Things

I like to make better things.

How to find IP Address of iPhone

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 
	return address; 

Hope it saves someone’s time!

How to “add existing frameworks” in Xcode 4?

Are you not getting how to add existing frameworks in xcode 4?
Well here is the right way of doing it -

1. In the project navigator, select your project
2. Select your target
3. Select the ‘Build Phases’ tab
4. Open ‘Link Binaries With Libraries’ expander
5. Click the ‘+’ button
6. Select your framework
7. (optional) Drag and drop the added framework to the ‘Frameworks’ group