Personal tools
ViewsFree Custom Ringtones on iPhone 1.1.1From ModMyi - WikiUPDATE: Each ringtone needs its own spoof file! [edit] IntroductionThis method works on Windows and Macs with any version of iTunes. [by “… works …” I mean it should work.] Your iPhone does not need any special treatment like Jailbreak or anything. Instructions below were written using a PC, so all Mac users out there will need to tweak it a little bit to suit their OS. I based my research on a method posted by Cleverboy on MacRumors. Link (The linked method no longer works with newest versions of iTunes.)
iPhone 1.1.1 Any version of iTunes iPhone access program like iPhuc, iPhoneBrowser, or an SSH client. [edit] Step 1 - Prepare your ringtone.Make a ringtone by using your preferred method. Very likely you will be using an MP3 file which is what this guide will assume. This is important: Until someone else does a bit more research, make the ringtone name 7 characters. Follow this rule for the 'spoof' file too. It appears that a length of 4 characters might works as well.
[edit] Step 2 – Convert your ringtone to AAC (optional)Note: This step is optional, however AAC is the preferred format for your ringontes. This guide will assume you follow this step, but if you don't, just treat your .mp3 file as the guide instructs you to treat the .m4a file. Add your ringtone to iTunes by either dragging it into your "Library" or using "File->Add File to Library" function.
Let’s make sure iTunes is configured to convert to AAC. Click on "Edit->Preferences". Click on "Advanced" tab and then on "Importing" tab.
Right click on the ringtone in your library and select “Convert Selection to AAC”
Hit Ok and close that window. Right click on your ringtone again and select “Show in Windows Explorer”. [it will probably say “Show in Finder” for you Mac users].
[edit] Step 3 – Load it on the iPhone.Start up your iPhone access program and connect to the iPhone. Transfer your ringtone with .m4a extension to your /iTunes_Control/Ringtones/ folder (on jailbroken phones use /private/var/root/Media/iTunes_Control/Ringtones/ instead).
[edit] Step 4 – Create a spoofNow we need to make iPhone think that this ringtone is legit and in order to do that we need a spoof file. You can do that by right clicking anywhere on your desktop or any explorer windows and choosing "New->Text Document".
[edit] Step 5 – Modifying Ringtones.plistUsing your iPhone access program navigate to /iTunes_Control/iTunes/ (on a jailbroken iPhone, use /private/var/root/Media/iTunes_Control/iTunes/ instead) and save "Ringtones.plist" file on your computer.
[edit] Step 6 – Transfer "Ringtones.plist" to the iPhone.You did it twice already. Just load the "Ringtones.plist" to "iTunes_Control/iTunes" and overwrite the old one.
[edit] Step 7 – Restart your phoneAhhh. Duh. I don’t know why you need to do that but you do. Go to Sounds, select your new ringtone and enjoy.
[edit] Step 8 - "Sync-Proof" your ringtones (optional)To prevent your free custom ringtones from being swiped during an iTunes sync, follow this guide: Prevent iTunes From Deleting Custom Ringtones on iPhone 1.1.1 [edit] ConclusionWhy does this work? ... and by "why" i mean "i think". In order to play a ringtone, iPhone has to have an AAC file. There are two kind of those. M4R are purchased ones and M4A are not. If you create a AAC file it naturally is M4A. The reason why you cant just load it on the iPhone is because it wont show M4A files in the ringtone selection dialog. You cant just rename it to M4R because then iPhone will check its DRM information and it will fail because its not there. The reason why this works is that iPhone lists our spoof file in the ringtone selection dialog but plays our M4A that has the same GUID.
Look on page 4 of the discussion for a copy of a working plist file! |





