Let’s face it. iPhone/iPad “new mail” alerts sucks and if you have multiple email accounts set up you’ll never know which account received the new email.
When you’re driving or having a meal, it’s convenient to know whether the email is from your boss, is an important alert from a system dying somewhere, or just your friend saying hi.
I’m not saying that you should procrastinate replying emails from friends, but those kinds of emails are just not worth crashing into the road divider or choke on chicken bone or something. Joking.
There might be some other tweaks or tools but I decided on MyProfiles. That’s the best I can find.
It works fine until one night I turned the phone into silent mode (via hardware switch) and the alert sound still played! I was surprised. At first I thought that I forgot to disable the alert override (Override Silent) item but I was wrong. It’s stuck at ON no matter how many times you try.
Override silent is a useful feature, trust me but I don’t want all of my alerts to sound all night long.
The quickest way I found was to edit the configuration directly. The configuration file is at: /var/mobile/Library/Preferences/com.intelliborn.myprofiles.plist
< ?xml version="1.0" encoding="UTF-8"?>
< !DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>allAlerts</key>
<array>
<dict>
<key>alertDuration</key>
<integer>1800</integer>
<key>alertId</key>
<integer>1</integer>
<key>alertInterval</key>
<integer>300</integer>
<key>alertVolume</key>
<integer>0</integer>
<key>displaySummary</key>
<integer>1</integer>
<key>filterMailboxesArray</key>
<array>
<string>EmailAccount1</string>
</array>
<key>global</key>
<integer>1</integer>
<key>ignoreRingerState</key>
<integer>0</integer>
<key>mailToMeOnly</key>
<integer>0</integer>
<key>name</key>
<string>COMPANY</string>
<key>repeatAlert</key>
<integer>0</integer>
<key>sound</key>
<integer>1</integer>
<key>soundPath</key>
<string>/System/Library/Audio/UISounds/sms-received2.caf</string>
<key>type</key>
<integer>1</integer>
<key>vibrate</key>
<integer>1</integer>
</dict>
</array>
</dict>
</plist> |
< ?xml version="1.0" encoding="UTF-8"?>
< !DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>allAlerts</key>
<array>
<dict>
<key>alertDuration</key>
<integer>1800</integer>
<key>alertId</key>
<integer>1</integer>
<key>alertInterval</key>
<integer>300</integer>
<key>alertVolume</key>
<integer>0</integer>
<key>displaySummary</key>
<integer>1</integer>
<key>filterMailboxesArray</key>
<array>
<string>EmailAccount1</string>
</array>
<key>global</key>
<integer>1</integer>
<key>ignoreRingerState</key>
<integer>0</integer>
<key>mailToMeOnly</key>
<integer>0</integer>
<key>name</key>
<string>COMPANY</string>
<key>repeatAlert</key>
<integer>0</integer>
<key>sound</key>
<integer>1</integer>
<key>soundPath</key>
<string>/System/Library/Audio/UISounds/sms-received2.caf</string>
<key>type</key>
<integer>1</integer>
<key>vibrate</key>
<integer>1</integer>
</dict>
</array>
</dict>
</plist>
You’ll need to change the key to 0, near the line:
<key>ignoreRingerState</key>
<integer>0</integer> |
<key>ignoreRingerState</key>
<integer>0</integer>
I don’t know how to restart the daemon as this is not a springboard app. I also don’t know whether restarting the springboard will take the new configuration.
So what I did was just launch MyProfiles again and then tried to edit the alert configuration. What I found out was that the configuration for override silent is untouched and even if I play around with it, it still won’t change from the new state I manually entered in the XML file. I also restarted the engine just to be sure.
But hey, it worked and when in silent mode the alert no longer play any sound.
* To do this you need to have SSH enabled on your iPhone/iPad. Hey if you’re using MyProfiles that means you have jailbreak your device anyway…