Mar 5, 2008

Adding a Stand-Alone Contacts Application to your iPhone

I can't tell you the number of readers who have written in asking for a stand-alone iPhone Contacts Application. It's not something that I particularly was trying to solve for myself (I don't mind tapping Phone then Contacts) but this morning, I stumbled on a simple way to accomplish this on your 1.1.3 iPhone.

This is, I'm afraid, right now a command-line only solution although it's relatively easy to automate. Someone from modmyifone should be along any second to offer an Installer-based solution. Here are the steps:

Update: I'm hearing from readers that "Customize" an iPhone app has done this for previous iPhone releases. Hopefully they'll have a 1.1.3 solution out soon. In the meantime, you can follow my steps by hand if you like. It's not difficult.

1. Locate It lives in your iPhone's /Applications folder.

2. Copy it to another Applications folder. I personally use /var/mobile/Media/Applications/ but you can use any other folder on your Media partition that you've set up for Application use. Try not to overfill the main /Applications directory. Your OS partition has limited storage. Some people prefer to make a symbolic link from /Applications to ~/Applications. I prefer using the (sneaky) /Widgets folder for my symbolic link rather than /Applications for its relatively high safety factor. (Yes, any application placed into /Widgets gets recognized by SpringBoard as an application.)

3. Give it a new bundle identifier. Edit the Info.plist file in the application bundle to give it a new, unique id. Any non-standard (i.e. not string will do. You'll probably have to convert the Info.plist from binary to text form. My plutil for iPhone will do this. (plutil -c xml1 Info.plist) This lets you run a second copy of the application without messing with the original and without conflicting with the bundle ID.

4. Remove the SBAppTags section. This consists of an array with a single string, "standAloneContact". You need to remove all 4 lines: from the key to the end of the array.

5. Restart SpringBoard. You can reboot the iPhone or use any number of restart utilities. Once re-started, your new version of the Contacts app will simply pop into place now that you've re-identified it and gotten rid of the app tags. Enjoy...

No comments: