UPDATE: This post has been supersceded by “Star Trek SMS tone Redux“
A while back, I set up a Star Trek ringtone and SMS beep on my iPhone. It worked quite well, but not too long after that, I had to reload the iPhone firmware (I believe due to an update from Apple) and lost the SMS tone. While the ringtone is trivial to re-add via iTunes, the SMS took a few more steps. I never quite got around to doing it because, while the steps were easy, I had to re-research what, exactly, they were. A combination of laziness and more important things than iPhone beeps kept pushing this off. I recently reloaded the SMS tone, so this post serves as a note to myself about how to reload the SMS ringtones in the future. Perhaps others will get some useful information out of it, too.
First off, is the ringtone file. The file has to be in AIFF format. The one I use is st_tng_chime.aiff, a door chime from Star Trek: The Next Generation.
Second, are the prerequisites. These are not for the faint of heart. First you have to jailbreak your phone. This is the big hurtle that is the most difficult to overcome. After that, it’s pretty easy:
- Install the iPhone SSH server and Boss Prefs
- Enable SSH via Boss Prefs
- Back up your existing SMS chime with the following terminal command (replacing the IP with your iPhone’s own):
ssh firstname.lastname@example.org cp /System/Library/Audio/UISounds/sms-received3.caf /System/Library/Audio/UISounds/sms-received3.caf.bak
- Enter “alpine” for the password
- Copy the new sound onto the iPhone:
scp st_tng_chime.aiff email@example.com:/System/Library/Audio/UISounds/sms-received3.caf
- Disable the SSH service via Boss Prefs
- Go into your sound preferences and change the SMS tone to “Glass” (which is the slot that got overwritten with the custom AIFF sound)
It is a basic set of commands that any intermediate-to-expert person familiar with the terminal has probably already used before. My main issue was being too lazy to (re-)research the path to the SMS sounds. I let it go untouched for months. This post is a capture of knowledge in case I ever have to do this again.