23/10/2010 – iTunes DB Cloner 0.9.1.0 – added support for iTunes 10.x.
iTunes DB Cloner is a tool that allows you to synch your iPhone/iPod Touch or iPod nano with two or more computers.
- What’s the problem?
- The techie reason
- The solution
- iTunes DB Cloner
- Quick Instructions
- How to retrieve the Persistent ID directly from your iPhone
By default, these iPod models can only be synchronized with a single iTunes. To ensure this, a unique identifier is stored in the database used by iTunes to keep track of your playlists, music, video and podcasts on your computer, the iTunes Library. This database is created per user meaning that you cannot manage your device from different user accounts in the same machine.
Attempt of trying to synchronize any of them with iTunes on a different computer, or even with the same iTunes copy in the same computer but logged on as a different user, will raise the following warning.
Your only alternatives here were either relinquishing synchronizing with the new computer or accepting to erase the media contents in the device so you could associate it again with the new iTunes… Isn’t this annoying!?!? Especially since this restriction is not present in any other models of the iPod family (iPod Classic and fatter siblings).
In a nutshell this tie between the iPhone/iPod and the iTunes to which it is associated with is based on this unique identifier, namely the Library Persistent ID, which is checked every time the device is connected to the computer. Only if the ID in iTunes matches the one previously stored in the device you will be able to browse, listen, watch and update the contents on the iPhone. If device and iTunes have different IDs, you will only be able to see a list of what’s stored in the device, but nothing else. You cannot listen to the music you are seeing on the screen, view any videos and let alone modifying the contents. This library ID is generated by iTunes the first time it is started up for a given user. Different users on the same computer will get different IDs for their iTunes libraries. This ID is transferred to the iPhone during the first synchronization, and will remain there until the user decides to overwrite it with a different one by synching with a different iTunes.
You can see now that if you could use the same identifier across all your iTunes libraries, in different computers (at work/home, Macs or PCs); you would then be able to play the music, videos and podcasts stored in your device(s) everywhere and, add or remove contents to it regardless of the you are using. By “cloning” this unique identifier of your iTunes Libraries across your different computers you will effectively be able to manage your device(s) in any of them. Nothing is ever touched in the device. Fortunately for all of us, Mr. Andrew Grant (hats off to him! :)) discovered where this ID was stored. Furthermore he discovered that it was perfectly safe to modify just this ID on a given iTunes library. This means that all of our information (play lists, imported albums and videos) will remain intact after altering the identifier.
Modification of this database id involves altering both an XML file and a binary file which not everybody is well used to. For the lazy ones (and that includes me) or those who think they might need to do this fairly often, iTunes DB Cloner is a handy tool. iTunes DB Cloner reads and writes the identifier of your iTunes library in just one click, without needing to tinker manually with hexadecimal editors or XML syntax
The idea is to read the ID of the iTunes Library currently associated with your device, and then update your other libraries to use this ID.
- Execute iTunes DB Cloner on the computer already associated with your iPhone/iPod Touch/nano. Note that iTunes DB Cloner automatically displays the Current persistent ID (for the current user).
- Write down the value in the Current persistent ID box somewhere, you’ll need it on the next step.
- Go to another iTunes (different PC or different user session on the same machine); and execute iTunes DB Cloner there. Notice the ID displayed this time is different from the once you read before.
- Enter the ID from the working iTunes on the black box and click Update ID. If iTunes is already running, iTunes DB Cloner will prompt you to confirm if it is OK to close it. After a few seconds, you will hear a chime, and a confirmation of the changes.
- Click on Read ID to double-check that the Library ID is now what you entered.
- Repeat from step 3 in any other PC if necessary.
Done! You can now connect your iPhone/iPod Touch/nano to any of the modified iTunes and listen and manage your contents from them.
If you have no access to the computer that your iPhone is currently paired to, there’s is still a way to retrieve the Persistent ID directly from your iPhone.
iTunes DB Cloner is free.
Download iTunes DB Cloner v 0.9.0.2 for Windows. ZIP file (591 KB)
I developed it because I really wanted a tool like this and there was no other similar one around by the time (remember Im lazy). And yes also for fun and to learn a couple of things on the way too. My skills in Objective-C/Cocoa programming are not good enough yet to release a Mac OS version of this tool.
If you want to know more about how this works, or need to modify an ID on a Mac OS version of iTunes, I recommend you to check the original HOWTO by Andrew, which describes how to do this manually, both on Mac and Windows.
iClarified has another great guide based on his work with step-by-step screenshots for manually altering the ID in both platforms.
I tried to focus on making iTunes DB Cloner safe in that it will be really hard to break things. Additionally, a backup of the original files is always created just in case you need to revert back the changes.
Having said this and also for dramatic effect, I will add that I am not responsible for any damage of any kind produced by the use of this (otherwise innocent) tool.
This tool is free. It is also free of virus or malware of any form (or at least of any one detectable by an up-to-date antivirus).