Well, if you ever encounter this kind of problems, the following methods will help you out, especially for Mac users.
First, make sure that: Ringtones play in iTunes They do show up under sounds They show up under the ringtones tab They are in the ringtone section of iTunes under library
Second, if the ringtone is in iTunes and not appearing on your iPhone after a successful sync, make sure that none of the song fields (song name, artist, composer, etc) have special characters (like quotes, for example iPhone-Ringtone the"-" will cause the problem).
Third, The Length of your ringtone. Although they show up in the ringtones on your iPhone in iTunes after successfully syncing to your iPhone, they will not appear in the custom ringtones section on your iPhone if they are longer than 30 seconds. P.S For Mac users, if the problem still exists, you can then use Wondershare iPhone Ringtone Maker for Mac, which has a Ringtone Manager. Ringtone Manager has 2 lists. All the ringtone files in the left list are those saved in your iTunes, and those in right one are your iPhone ringtones. Highlight any ringtone you need in any list, you can then transfer it between iTunes and iPhone. You can also delete or pre-listen to the ringtones. So, all the sync or transfer iPhone Ringtone work can be done skipping using iTunes and also your problem that cann't sync iphone ringtone on mac will be solved. More is available at: http://www.imediacreator.com/mac-iphone-ringtone-maker.html#191