Sync an iPhone With Multiple Computers

If you own an iPhone, you may notice that when you plug your iPhone into a variety of computers, yours or other people’s, and you’ll find that your phone and iTunes want to wipe everything clean and start over, every single time.

Andrew Grant at the Shiny Things blog shows how to edit your iTunes Music Library XML file to sync your phone (or iPod touch) with different systems. That means you can, say, auto-grab just your music from your Mac at home, but grab Contacts and Calendars from your work PC. The guide requires very little hacking, and Grant provides links to simple text and hex editors to get the job done.

Below is the instructions on how to sync your iPhone into multiple computers.

Notes

Backup Your Library

On the machine you want to sync with, backup “iTunes Music Library.xml” and “iTunes Music Library” (Tunes Music Library.itl on PC) to a safe location. These are the files you will be modifying.

1) Find your iTunes Library ID

On the machine your iPhone currently syncs with, open “iTunes Music Library.xml” with a text editor and find the entry between the <string></string> tags, after “Library Persistent ID”. In the example below this is 8B6C633F7DACB74B. Copy this entry exactly to a piece of paper, email, temporary file etc. You can then close this file.

2) Change your Library ID

iTunes stores your library information in two places. An XML file and a binary file. You now need to change the ID in both so they match your other library.

Make sure iTunes is not running.

On the machine you want to sync with open “iTunes Music Library.xml” in a text editor. Again, find the entry between the <string></string> tags after “Library Persistent ID” and copy this entry exactly. This time you can use the clipboard if you wish.

When you have a copy, replace this entry with the one you copied in part 1. Make sure you do not change anything else, and the length of the entry is 16 characters/digits. Save this file and close it.

In the Hex Editor, open “iTunes Music Library” (Tunes Music Library.itl on PC).

Select “Find and Replace” from the Edit menu. Make sure “Hex” matching is selected (not ASCII). In “Find” enter the ID you took a note of in Part 1. In Replace, enter the ID you copied at the start of Part 2. Choose Replace All, there should be one match.

Save this file and close it.

Success!

Start iTunes on the machine you wish to sync with and plug in your iPhone. When you select “Manually manage music and videos” you will no longer be prompted to erase your data, nor will the files on your iPhone be grayed out.

Additional Notes

Previously I’ve found that intentionally corrupting the binary “iTunes Library” file (e.g. replacing it with a text file) would cause iTunes to regenerate it using the XML data. This no longer appears to work for me in iTunes 7.6.1 and the “repaired” file only contains a few songs. This may be because I keep my music on an external drive but I cannot say for sure. Either way, patching the binary file does not take long and removes any chance of later problems.

If you do not care about being able to manually manage items and instead just want to sync different data in different places, there’s a simpler way. Turn off “Automatically sync..” on the summary page of both machines.  On the computer you want to sync contacts/calendar with select only these items and perform a sync. Now, on the second machine enable Music/Photos/Etc and perform a second sync. You will be warned the media library will be deleted, but as there’s no media this is fine. [Shiny Things]

This “little” procedure is easier than it looks, that is if you are willing to get your hands dirty with a hex editor and a few lines of simple code. The tutorial above is easy to understand and I’m sure that anyone can do it.

Related Entries:


Tutorials, Tips and How to's | , ,

If you enjoyed this post, please consider to leave a comment or subscribe to the feed and get future articles delivered to your feed reader.

Comments

3 Responses to “Sync an iPhone With Multiple Computers”

Leave Comment

(required)

(required)