Every guide i've seen to change the duration/frequency of the vibrations when receiving and SMS all refer to the "Default" Key in SystemSoundVibrationPatterns.plist.
The problem with that is whenever you're playing a game or any program that has vibrations in it, most of the time it will call on that "Default" key and it will vibrate at whichever duration/frequency that you have set. This is not only annoying in games, it also drains your battery.
Here's what i've found out:
Look at SystemSoundBehaviour.plist:
Every Key here that has a Vibrate string (i think you can add it if it doesn't have it) can be placed in SystemSoundVibrationPatterns.plist and you can set different vibration patterns for different events.
The key that works for receiving SMS is "SMSReceived_Alert". To change the way your phone vibrates when you receive a SMS, add this line to your SystemSoundVibrationPatterns.plist:
You can also change vibrations individually when you get a new email, for a calender alert, or when you get a voicemail, etc. Just copy the whole code from beginning to end and change the key and the settings to your likings.
I will attach my vibration pattern file so you can see exactly what it should look like. Just change extension to .plist if you plan on using it, of course. Any questions, PM me but i will be going to bed right after i post this so it'll be a while before i respond.
Good luck!
The problem with that is whenever you're playing a game or any program that has vibrations in it, most of the time it will call on that "Default" key and it will vibrate at whichever duration/frequency that you have set. This is not only annoying in games, it also drains your battery.
Here's what i've found out:
Look at SystemSoundBehaviour.plist:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CalendarAlert</key>
<dict>
<key>RingVibrateIgnore,SilentVibrateOff,RingerSwitchOff</key>
<array>
</array>
<key>RingVibrateIgnore,SilentVibrateOn,RingerSwitchOff</key>
<array>
<string>Vibrate</string>
</array>
<key>RingVibrateOff,SilentVibrateIgnore,RingerSwitchOn</key>
<array>
<string>Beep</string>
</array>
<key>RingVibrateOn,SilentVibrateIgnore,RingerSwitchOn</key>
<array>
<string>Beep</string>
<string>Vibrate</string>
</array>
</dict>
<key>CameraShutter</key>
<dict>
<key>RingVibrateIgnore,SilentVibrateOff,RingerSwitchOff</key>
<array>
</array>
<key>RingVibrateIgnore,SilentVibrateOn,RingerSwitchOff</key>
<array>
</array>
<key>RingVibrateOff,SilentVibrateIgnore,RingerSwitchOn</key>
<array>
<string>Beep</string>
</array>
<key>RingVibrateOn,SilentVibrateIgnore,RingerSwitchOn</key>
<array>
<string>Beep</string>
</array>
</dict>
<key>CameraShutterAlwaysHeard</key>
<dict>
<key>RingVibrateIgnore,SilentVibrateIgnore,RingerSwitchIgnore</key>
<array>
<string>Beep</string>
</array>
</dict>
<key>ConnectedToPower</key>
<dict>
<key>RingVibrateIgnore,SilentVibrateIgnore,RingerSwitchOff</key>
<array>
<string>Vibrate</string>
</array>
<key>RingVibrateIgnore,SilentVibrateIgnore,RingerSwitchOn</key>
<array>
<string>Beep</string>
</array>
</dict>
<key>Default</key>
<dict>
<key>RingVibrateIgnore,SilentVibrateIgnore,RingerSwitchOff</key>
<array>
</array>
<key>RingVibrateIgnore,SilentVibrateIgnore,RingerSwitchOn</key>
<array>
<string>Beep</string>
</array>
</dict>
<key>FailedUnlock</key>
<dict>
<key>RingVibrateIgnore,SilentVibrateOff,RingerSwitchOff</key>
<array>
</array>
<key>RingVibrateIgnore,SilentVibrateOn,RingerSwitchOff</key>
<array>
<string>Vibrate</string>
</array>
<key>RingVibrateOff,SilentVibrateIgnore,RingerSwitchOn</key>
<array>
<string>Beep</string>
</array>
<key>RingVibrateOn,SilentVibrateIgnore,RingerSwitchOn</key>
<array>
<string>Beep</string>
<string>Vibrate</string>
</array>
</dict>
<key>Headset_AnswerCall</key>
<dict>
<key>RingVibrateIgnore,SilentVibrateIgnore,RingerSwitchIgnore</key>
<array>
</array>
</dict>
<key>Headset_CallWaitingActions</key>
<dict>
<key>RingVibrateIgnore,SilentVibrateIgnore,RingerSwitchIgnore</key>
<array>
<string>Beep</string>
</array>
</dict>
<key>Headset_EndCall</key>
<dict>
<key>RingVibrateIgnore,SilentVibrateIgnore,RingerSwitchIgnore</key>
<array>
<string>Beep</string>
</array>
</dict>
<key>Headset_Redial</key>
<dict>
<key>RingVibrateIgnore,SilentVibrateIgnore,RingerSwitchIgnore</key>
<array>
<string>Beep</string>
</array>
</dict>
<key>Headset_StartCall</key>
<dict>
<key>RingVibrateIgnore,SilentVibrateIgnore,RingerSwitchIgnore</key>
<array>
<string>Beep</string>
</array>
</dict>
<key>Headset_TransitionEnd</key>
<dict>
<key>RingVibrateIgnore,SilentVibrateIgnore,RingerSwitchIgnore</key>
<array>
<string>Beep</string>
</array>
</dict>
<key>KeyPressed</key>
<dict>
<key>RingVibrateIgnore,SilentVibrateOff,RingerSwitchOff</key>
<array>
</array>
<key>RingVibrateIgnore,SilentVibrateOn,RingerSwitchOff</key>
<array>
</array>
<key>RingVibrateOff,SilentVibrateIgnore,RingerSwitchOn</key>
<array>
<string>Beep</string>
</array>
<key>RingVibrateOn,SilentVibrateIgnore,RingerSwitchOn</key>
<array>
<string>Beep</string>
</array>
</dict>
<key>LowPower</key>
<dict>
<key>RingVibrateIgnore,SilentVibrateIgnore,RingerSwitchIgnore</key>
<array>
<string>Beep</string>
</array>
</dict>
<key>MailReceived</key>
<dict>
<key>RingVibrateIgnore,SilentVibrateOff,RingerSwitchOff</key>
<array>
</array>
<key>RingVibrateIgnore,SilentVibrateOn,RingerSwitchOff</key>
<array>
<string>Vibrate</string>
</array>
<key>RingVibrateOff,SilentVibrateIgnore,RingerSwitchOn</key>
<array>
<string>Beep</string>
</array>
<key>RingVibrateOn,SilentVibrateIgnore,RingerSwitchOn</key>
<array>
<string>Beep</string>
<string>Vibrate</string>
</array>
</dict>
<key>MailSent</key>
<dict>
<key>RingVibrateIgnore,SilentVibrateOff,RingerSwitchOff</key>
<array>
</array>
<key>RingVibrateIgnore,SilentVibrateOn,RingerSwitchOff</key>
<array>
</array>
<key>RingVibrateOff,SilentVibrateIgnore,RingerSwitchOn</key>
<array>
<string>Beep</string>
</array>
<key>RingVibrateOn,SilentVibrateIgnore,RingerSwitchOn</key>
<array>
<string>Beep</string>
</array>
</dict>
<key>PINKeyPressed</key>
<dict>
<key>RingVibrateIgnore,SilentVibrateOff,RingerSwitchOff</key>
<array>
</array>
<key>RingVibrateIgnore,SilentVibrateOn,RingerSwitchOff</key>
<array>
</array>
<key>RingVibrateOff,SilentVibrateIgnore,RingerSwitchOn</key>
<array>
<string>Beep</string>
</array>
<key>RingVibrateOn,SilentVibrateIgnore,RingerSwitchOn</key>
<array>
<string>Beep</string>
</array>
</dict>
<key>RingerSwitchIndication</key>
<dict>
<key>RingVibrateOff,SilentVibrateOff,RingerSwitchOff</key>
<array>
</array>
<key>RingVibrateOff,SilentVibrateOff,RingerSwitchOn</key>
<array>
</array>
<key>RingVibrateOff,SilentVibrateOn,RingerSwitchOff</key>
<array>
<string>Vibrate</string>
</array>
<key>RingVibrateOff,SilentVibrateOn,RingerSwitchOn</key>
<array>
</array>
<key>RingVibrateOn,SilentVibrateOff,RingerSwitchOff</key>
<array>
</array>
<key>RingVibrateOn,SilentVibrateOff,RingerSwitchOn</key>
<array>
<string>Vibrate</string>
</array>
<key>RingVibrateOn,SilentVibrateOn,RingerSwitchOff</key>
<array>
<string>Vibrate</string>
</array>
<key>RingVibrateOn,SilentVibrateOn,RingerSwitchOn</key>
<array>
</array>
</dict>
<key>RingerVibeChanged</key>
<dict>
<key>RingVibrateOff,SilentVibrateIgnore,RingerSwitchIgnore</key>
<array>
</array>
<key>RingVibrateOn,SilentVibrateIgnore,RingerSwitchIgnore</key>
<array>
<string>Vibrate</string>
</array>
</dict>
<key>SIMToolkitTone</key>
<dict>
<key>RingVibrateIgnore,SilentVibrateOff,RingerSwitchOff</key>
<array>
</array>
<key>RingVibrateIgnore,SilentVibrateOn,RingerSwitchOff</key>
<array>
<string>Vibrate</string>
</array>
<key>RingVibrateOff,SilentVibrateIgnore,RingerSwitchOn</key>
<array>
<string>Beep</string>
</array>
<key>RingVibrateOn,SilentVibrateIgnore,RingerSwitchOn</key>
<array>
<string>Beep</string>
<string>Vibrate</string>
</array>
</dict>
<key>SMSReceived</key>
<dict>
<key>RingVibrateIgnore,SilentVibrateOff,RingerSwitchOff</key>
<array>
</array>
<key>RingVibrateIgnore,SilentVibrateOn,RingerSwitchOff</key>
<array>
<string>Vibrate</string>
</array>
<key>RingVibrateOff,SilentVibrateIgnore,RingerSwitchOn</key>
<array>
<string>Beep</string>
</array>
<key>RingVibrateOn,SilentVibrateIgnore,RingerSwitchOn</key>
<array>
<string>Beep</string>
<string>Vibrate</string>
</array>
</dict>
<key>SMSReceived_Alert</key>
<dict>
<key>RingVibrateIgnore,SilentVibrateOff,RingerSwitchOff</key>
<array>
</array>
<key>RingVibrateIgnore,SilentVibrateOn,RingerSwitchOff</key>
<array>
<string>Vibrate</string>
</array>
<key>RingVibrateOff,SilentVibrateIgnore,RingerSwitchOn</key>
<array>
<string>Beep</string>
</array>
<key>RingVibrateOn,SilentVibrateIgnore,RingerSwitchOn</key>
<array>
<string>Beep</string>
<string>Vibrate</string>
</array>
</dict>
<key>SMSReceived_Selection</key>
<dict>
<key>RingVibrateIgnore,SilentVibrateIgnore,RingerSwitchIgnore</key>
<array>
<string>Beep</string>
</array>
</dict>
<key>SMSReceived_Vibrate</key>
<dict>
<key>RingVibrateIgnore,SilentVibrateOff,RingerSwitchOff</key>
<array>
</array>
<key>RingVibrateIgnore,SilentVibrateOn,RingerSwitchOff</key>
<array>
<string>Vibrate</string>
</array>
<key>RingVibrateOff,SilentVibrateIgnore,RingerSwitchOn</key>
<array>
</array>
<key>RingVibrateOn,SilentVibrateIgnore,RingerSwitchOn</key>
<array>
<string>Vibrate</string>
</array>
</dict>
<key>SMSSent</key>
<dict>
<key>RingVibrateIgnore,SilentVibrateOff,RingerSwitchOff</key>
<array>
</array>
<key>RingVibrateIgnore,SilentVibrateOn,RingerSwitchOff</key>
<array>
</array>
<key>RingVibrateOff,SilentVibrateIgnore,RingerSwitchOn</key>
<array>
<string>Beep</string>
</array>
<key>RingVibrateOn,SilentVibrateIgnore,RingerSwitchOn</key>
<array>
<string>Beep</string>
</array>
</dict>
<key>ScreenLocked</key>
<dict>
<key>RingVibrateIgnore,SilentVibrateOff,RingerSwitchOff</key>
<array>
</array>
<key>RingVibrateIgnore,SilentVibrateOn,RingerSwitchOff</key>
<array>
</array>
<key>RingVibrateOff,SilentVibrateIgnore,RingerSwitchOn</key>
<array>
<string>Beep</string>
</array>
<key>RingVibrateOn,SilentVibrateIgnore,RingerSwitchOn</key>
<array>
<string>Beep</string>
</array>
</dict>
<key>ScreenUnlocked</key>
<dict>
<key>RingVibrateIgnore,SilentVibrateOff,RingerSwitchOff</key>
<array>
</array>
<key>RingVibrateIgnore,SilentVibrateOn,RingerSwitchOff</key>
<array>
</array>
<key>RingVibrateOff,SilentVibrateIgnore,RingerSwitchOn</key>
<array>
<string>Beep</string>
</array>
<key>RingVibrateOn,SilentVibrateIgnore,RingerSwitchOn</key>
<array>
<string>Beep</string>
</array>
</dict>
<key>SilentVibeChanged</key>
<dict>
<key>RingVibrateIgnore,SilentVibrateOff,RingerSwitchIgnore</key>
<array>
</array>
<key>RingVibrateIgnore,SilentVibrateOn,RingerSwitchIgnore</key>
<array>
<string>Vibrate</string>
</array>
</dict>
<key>SystemSoundPreview</key>
<dict>
<key>RingVibrateIgnore,SilentVibrateIgnore,RingerSwitchOff</key>
<array>
</array>
<key>RingVibrateIgnore,SilentVibrateIgnore,RingerSwitchOn</key>
<array>
<string>Beep</string>
</array>
</dict>
<key>TouchTone</key>
<dict>
<key>RingVibrateIgnore,SilentVibrateIgnore,RingerSwitchOff</key>
<array>
</array>
<key>RingVibrateIgnore,SilentVibrateIgnore,RingerSwitchOn</key>
<array>
<string>Beep</string>
</array>
</dict>
<key>USSDAlert</key>
<dict>
<key>RingVibrateIgnore,SilentVibrateOff,RingerSwitchOff</key>
<array>
</array>
<key>RingVibrateIgnore,SilentVibrateOn,RingerSwitchOff</key>
<array>
<string>Vibrate</string>
</array>
<key>RingVibrateOff,SilentVibrateIgnore,RingerSwitchOn</key>
<array>
<string>Beep</string>
</array>
<key>RingVibrateOn,SilentVibrateIgnore,RingerSwitchOn</key>
<array>
<string>Beep</string>
<string>Vibrate</string>
</array>
</dict>
<key>UserAlert</key>
<dict>
<key>RingVibrateIgnore,SilentVibrateOff,RingerSwitchOff</key>
<array>
</array>
<key>RingVibrateIgnore,SilentVibrateOn,RingerSwitchOff</key>
<array>
<string>Vibrate</string>
</array>
<key>RingVibrateOff,SilentVibrateIgnore,RingerSwitchOn</key>
<array>
<string>Beep</string>
</array>
<key>RingVibrateOn,SilentVibrateIgnore,RingerSwitchOn</key>
<array>
<string>Beep</string>
<string>Vibrate</string>
</array>
</dict>
<key>Vibrate</key>
<dict>
<key>RingVibrateIgnore,SilentVibrateOff,RingerSwitchOff</key>
<array>
</array>
<key>RingVibrateIgnore,SilentVibrateOn,RingerSwitchOff</key>
<array>
<string>Vibrate</string>
</array>
<key>RingVibrateOff,SilentVibrateIgnore,RingerSwitchOn</key>
<array>
</array>
<key>RingVibrateOn,SilentVibrateIgnore,RingerSwitchOn</key>
<array>
<string>Vibrate</string>
</array>
</dict>
<key>VoicemailReceived</key>
<dict>
<key>RingVibrateIgnore,SilentVibrateOff,RingerSwitchOff</key>
<array>
</array>
<key>RingVibrateIgnore,SilentVibrateOn,RingerSwitchOff</key>
<array>
<string>Vibrate</string>
</array>
<key>RingVibrateOff,SilentVibrateIgnore,RingerSwitchOn</key>
<array>
<string>Beep</string>
</array>
<key>RingVibrateOn,SilentVibrateIgnore,RingerSwitchOn</key>
<array>
<string>Beep</string>
<string>Vibrate</string>
</array>
</dict>
</dict>
</plist>
Every Key here that has a Vibrate string (i think you can add it if it doesn't have it) can be placed in SystemSoundVibrationPatterns.plist and you can set different vibration patterns for different events.
The key that works for receiving SMS is "SMSReceived_Alert". To change the way your phone vibrates when you receive a SMS, add this line to your SystemSoundVibrationPatterns.plist:
Code:
<key>SMSReceived_Alert</key>
<dict>
<key>Intensity</key>
<real>1</real>
<key>OffDuration</key>
<real>0.3</real>
<key>OnDuration</key>
<real>0.6</real>
<key>TotalDuration</key>
<real>4.0</real>
</dict>
I will attach my vibration pattern file so you can see exactly what it should look like. Just change extension to .plist if you plan on using it, of course. Any questions, PM me but i will be going to bed right after i post this so it'll be a while before i respond.
Good luck!