How to add custom ringtones / system sounds
Originally published July 12, 2007
Updated October 2, 2011 with new download links for nostalgia purposes.
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!
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
There are some things you should know before you perform
anything on this site. There is
obviously some risk involved here, but
everyone I know of has been able to restore their
iPhone by using iTunes. I've heard no report of anyone damaging their iPhone by modding it when
using the correct program(s).
-
This site is not for those uncomfortable around computers, and especially the command line or
Terminal. If you aren't sure about something on here, then I recommend stopping what you are doing
and hooking up your iPhone to iTunes and signing up for a contract with AT&T.
-
You risk voiding your warranty.
-
Any modifications you perform on your iPhone, including bypassing activation, will be reset if you
should install a firmware update provided by Apple. It's a matter of redoing everything you
previously did to get your iPhone back the way you had it once you update.
-
Read the instructions in their entirety. Do not read into the instructions, follow only what is
there. If you can't follow directions, you may may damage your phone requiring a replacement from
Apple.
-
I am not responsible for your results if they are less than what you expected. You assume all
risks. I recommend seeking help in iPhone hacking forums or in the various IRC servers and channels.
Check my links page to find them.
-
If you have not activated your iPhone via AT&T, then you will lose the ability to use your YouTube
icon following the instructions on this site. This ability may be restored by the hacker
community, or if you should decide to restore your phone via iTunes and sign up for a service
contract with AT&T.
-
If you have not activated your iPhone via AT&T, then you will not have visual voicemail or YouTube
access unless there is another iPhone that is properly activated via AT&T in your family plan.
-
If you have not activated your iPhone via AT&T, I have noticed Yahoo mail does not work with the
iPhone in a modded state. This may apply to all other mail access like Gmail .mac, AOL et cetera.
Step 1.
Make sure your iPhone is docked and charged.
Step 2.
From iTunes, make sure you have a backup of your phone and all settings (if you
want to keep them). Simply connect the iPhone to your computer and iTunes will sync your iPhone.
Automatically backed-up information includes text messages, notes, call history, contact favorites,
sound settings, widget settings, certain network settings, and other preferences.
Step 3.
Quit iTunes. Don't just minimize it, shut it down. If you have the
iTunes Helper open, you must quit that as well. To determine if they are running, open the Activity
Monitor program found in the Utilities folder inside of the Applications folder. If it is running,
highlight it in the list and click the "Quit Process" button.
Step 4.
Make sure the iPhone is on.
Step 5.
Download the software restore file from Apple.
Click here.
Once the file is downloaded, most browsers may automatically decompress the file and leave a
folder called iPhone1,1_1 on your desktop. If your browser did not do this, and you have an .ipsw
file instead, then rename the extension to .zip and decompress it yourself.
Note: do not place newer firmware files in this folder!
Step 6.
Create a folder called phonedmg in your home folder.
Step 7.
Place the software restore files you downloaded from Apple (the iPhone1,1_1 folder) into the
phonedmg folder. Do not place the whole folder in here, just what's in the folder.
Step 8.
Download the "jailbreak" program here.
Put this file into the phonedmg folder.
Step 9.
Download the iPhoneInterface (v 0.3.3) program here.
Put this file into the phonedmg folder.
Update: You might want to consider using the iPhone Utility Client (iPHUC) instead. It adds more
commands to the iPhoneInterface program (which is no longer being maintained). Read about
this
here.
Step 10.
Download the original Services.plist file
from here Put this file into the phonedmg folder. You have now
completed all the initial preparatory steps needed to mod the iPhone. You will never have to repeat
these steps, provided you do not delete anything in the phonedmg folder.
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.
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.
Step 13.
Press and hold the Home button and the Sleep/Wake button for a full 25 seconds.
The iPhone will restart in recovery mode. At this point the iTunes program
may open, so close
it.
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.
Step 14.
Now copy your ringtone to the phonedmg folder. Make sure the file is in .m4a or .mp3
format (you can also use m4r). In this example I've put the file CTU.mp3 in there.
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.
Step 15.
Back in the Terminal type: ./iPhoneInterface Then press the enter key.
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.
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).
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.
|
Step 18.
In order to not lose sync ability with iTunes, we must replace the Services.plist file with the
original one from iTunes.
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.
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.
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.
Before...
|
|
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.