Here's a few quick notes:
- Your iPhone has to be jailbroken.
- You need Winterboard; the end result will be a Winterboard theme which means you can toggle it on and off.
- You need some application to get files to your iPhone (SSH, iFunbox, iPhoneExplorer, etc.) I personally like iFunbox, but if you're an SSH person, go right ahead.
*Note: I'm not positive of any application working, just because I'm not sure if STRINGS files need to be converted; every application I've used worked, specifically iFunBox because it's the easiest to use.
- You are still limited to 6 tones at a time. This shouldn't make a difference since you can only select one at a time, but just know that you are limited to having 6 active SMS tones on your iPhone, due to Apple. You can create as many Winterboard themes with 6 tones each, but you have to Re-spring every time you want to switch between them.
So anyway, let's get down to it. I'm not going to talk about how to get your ringtones into the right format; the format for iPhone SMS tones is CAT files, but don't worry: it's just an AIFF with a different extension. You can convert MP3s or M4As to AIFF a number of ways, with iTunes, with a ringtone maker, or even with Audacity. You should be able to take it from here, if you don't already know how to convert to AIFF.
Let's assume you now have all 6 tones in AIFF format and you're ready to go. First, for sanity sake, write down a list of the files in the order that you want them to appear in the list.
Create a new folder for you SMS theme, I'll call mine Bry's SMS Tones. Go inside it and create another folder and name it UISounds. Now copy all 6 of your tones into that folder, and get your list ready. Starting from the beginning of your list, name the files sms-received1, sms-received2, sms-received3, sms-received4, sms-received5, and sms-received6. Hold on to that list so you can tell what is what.
Go up one level and create a new folder, and name it Folders. Then inside that, create another folder called Preferences.app. Then inside that, create yet another folder called en.lproj. Finally, inside that folder, create a text file and open it with your editor of choice.
Here's where that list comes in handy. Just follow this template, changing only the text in red:
"DEFAULT" = "This is the first tone";So with the tones I have, here's what mine looks like:
"ALTERNATE_1" = "This is the second tone";
"ALTERNATE_2" = "This is the third tone";
"ALTERNATE_3" = "This is the fourth tone";
"ALTERNATE_4" = "This is the fifth tone";
"ALTERNATE_5" = "This is the sixth tone";
Save the file, close it, and then rename it to Sounds.strings. (I shouldn't have to say this, but make sure "View Known Filetypes" is off so you're not just editing a text file.) You're done! Your theme is complete. Now all you have to do is add the theme to your iPhone. Run whatever program you use to transfer files to you iPhone -I highly recommend iFunBox- and move the entire theme folder to /Library/Themes.
Respring your iPhone, and BOOM! You have up to 6 custom ringtones, all named to whatever you want.