Hack the iPhone





How to add custom ringtones / system sounds

intel Mac

Originally published July 12, 2007



Before I get into the instructions, I must give credit where credit is due. Because of the hard work of a couple people, "nightwatch", "geohot" and "ziel" in particular, and the rest of the iPhone development team, we have two programs and a method that make this possible. The programs are called jailbreak and iPhoneInterface. Original instructions for how to do this were provided to me by "JavaCoderEx" which I then redrafted and illustrated. I'd also like to thank the following people for helping me add the instructions that allow sync ability to remain unbroken: "chews", "Christian", "lunatixcoder", "pdb" and "TkN" for pointing out this method, explaining it to me, and for tech checking these instructions numerous times to make sure they were right. This obviously makes this modification so much more worth it. Before, people gave up the ability to sync just to have a ringtone!

Custom ringtones are one of the biggest requests by people that want to modify their iPhone to make it unique. This page will teach you how to add your own files to the iPhone to use as a ringtone. For those of you PPC Mac users out there, for whatever reason the universal binary of Jailbreak does not work.

I know this looks like a difficult procedure. Read it through first before performing anything. Once you have all the files downloaded, and have put them all in the same folder, this is a 4 minute process. Seriously. Download the files that I link to on this site. There are many versions of Jailbreak and iPhoneInterface. The build numbers were not consistent. You could have problems if you got your files elsewhere but use these instructions.


Warning

If you have not modified your iPhone yet, then it is imperative that you read and perform "The 10 Steps" before continuing here. These 10 steps are for first time modders. Because they are lengthy (due to the screen shots) they are being kept on a dedicated page. Once you perform them, you don't have to again. This helps keep the tutorials brief.



Step 11.

Start Terminal and type: cd phonedmg    Then press the enter key. You'll see you are now in the phonedmg directory where all of your files that you downloaded earlier should be.

iPhone




Step 12.

Type: ./jailbreak    Then press the enter key. You should see the text "Looking for iPhone..."   If you don't, then you did something wrong. It will display some more text momentarily.

iPhone







Step 13.

Press and hold the Home button and the Sleep/Wake button for a full 25 seconds.

iPhone



The iPhone will restart in recovery mode. At this point the iTunes program may open, so close it.

iPhone



Note: If you have iTunes 7.3.1 it won't launch automatically when you go into recovery mode. Continue to Step 14.

Note: If you have iTunes 7.3.054 go back to the Terminal window running jailbreak and press and hold the CTRL key while pressing the C key. You have to do this because jailbreak tells you to go into recovery mode, and doesn't give you a prompt to kill the shell process.

At the new prompt type ./jailbreak    Then press the enter key. A few additional lines of text will appear as the iPhone is modified. This process may take up to one minute and it won't look like anything is happening, but trust me, jailbreak is busy. What until you get a screen similar to the one below.

iPhone




Step 14.

Now copy your ringtone to the phonedmg folder. Make sure the file is in .m4a or .mp3 format. In this example I've put the file CTU.mp3 in there. I get a lot of requests for this ringtone so I'm offering it as a download here.

It is best to copy ALL the ringtones you want to add to the iPhone at this point, otherwise you'll have to repeat these instructions starting from Step 10 to add more later.

iPhone




Step 15.

Back in the Terminal type: ./iPhoneInterface    Then press the enter key.

iPhone




Step 16.

Now type mkdir /var/root/Library/Ringtones    Then press the enter key.
Now type: cd /var/root/Library/Ringtones    Then press the enter key.

iPhone




Step 17.

Next type: putfile CTU.mp3    Then press the enter key.   Note if you want to delete a ringtone type: rmdir myringtone.mp3 (or whatever your file name is).

iPhone



If you would also like to replace system sounds follow the instructions within this bordered area, otherwise skip to Step 18 to continue with ringtone replacement.

These instructions were contributed by "Christian" "Ksilebo", and "TkN". For the ultimate in customization, you can follow these steps to change your system sounds for new mail, new sms, new voicemail, et cetera. Remember you will be updating the system sounds, you can always restore them with a full restore or one by one by using the backups in the 39.dmg file.

The default system files in /System/Library/Audio/UISounds
alarm.caf
dtmf-2.caf
beep-beep.caf
dtmf-0.caf
dtmf-1.caf
dtmf-3.caf
dtmf-4.caf
dtmf-5.caf
dtmf-6.caf
dtmf-7.caf
dtmf-8.caf
dtmf-9.caf
dtmf-pound.caf
dtmf-star.caf
lock.caf
long_low_short_high.caf
low_power.caf
mail-sent.caf
middle_9_short_double_low.caf
New-mail.caf
photoShutter.caf
ReceivedMessage.caf
RingerChanged.caf
SentMessage.caf
short_double_high.caf
short_double_low.caf
short_low_high.caf
SIMToolkitCallDropped.caf
SIMToolkitGeneralBeep.caf
SIMToolkitNegativeACK.caf
SIMToolkitPositiveACK.caf
SIMToolkitSMS.caf
sms-received.caf
Tink.caf
Tock.caf
unlock.caf
ussd.caf
Voicemail.caf



Step 17a.

Choose a file, convert it to .aif using QuickTime and rename the .aif to .caf.   The .caf sould have the exact same name as the system file you are trying to replace (i.e. yourCustom.aif becomes new-mail.caf).



Step 17b.

Put the new .caf file in the phonedmg folder used earlier.



Step 17c.

In the Terminal type: putfile /System/Library/Audio/UISounds/.caf    Then press the enter key.


Now in order to not lose sync ability with iTunes we must replace the Services.plist file with the original one from iTunes.



Step 18.

Download the original Services.plist file from here. You can also get this from the decrypted 39.dmg file, but I won't explain this here.



Step 19.

Verify that the Services.plist file is inside the phonedmg folder.

iPhone




Step 20.

Switching back to the Terminal, type: cd /System/Library/Lockdown Then press the enter key.

Type: putfile Services.plist Then press the enter key.

Type: exit Then press the enter key.

iPhone




Step 21.

Turn off the iPhone then turn it back on. Go to: Settings -> Sounds -> Ringtone, and select your new ringtone. Here's my before and after.

iPhone

Before...
iPhone

and after.


Once you have done this, iTunes doesn't automatically launch when connecting the iPhone. You can launch iTunes manually and it will sync with the iPhone though.

If you find the iPhone acting weird, just put it into recovery mode (press and hold the Home button and the Sleep/Wake button for a full 25 seconds), then launch iTunes and allow it to restore the iPhone. You will of course need to repeat these instructions to replace your ringtones that the restore process erases.




iPhone


Return to top of page.



Free how to videos on WonderHowTo
Instructional videos, DIY, tutorials & hacks.
Callcentric - internet phone service for your home or office. iPhone
My other cell phone modding sites:   Hack the L7, Hack the V3 and Hack the V3i.   Copyright © 2008, MCJ