開発終了のため、公開停止しました。再配布はしないように願います。(2010.05.30)
SMS/MMS着信音振り分けを可能にするMobile Substrate Plug-in、「SmartBiff」というのを作ってみました。
(動画は差し替え予定)
ついでに、i.softbank.jp (Eメール(i))の着信音と、着信メッセージも再定義できるようにもしました。
iPhone OS 3.0用です。iPhone 3GSは持っていないので、動くかどうか未確認です。
本来のSMS/MMS着信音と二重に鳴ってしまうので、「設定>サウンド>新着SMS/MMS」はオフにして使ってください。
(2009/0720追記)しかし、こうするとなぜかバイブレーションが作動しなくなってしまうので、「設定>サウンド>新着SMS/MMS」はオンのまま、SMS/MMSの着信音を「トライトーン」に設定。「/System/Library/Audio/UISounds/sms-received1.caf」を「_sms-received1.caf」などにリネームし、以下の無音ファイルをその代わりにコピーしてrespringすればバイブレーションが動作するようになります。
無音の「sms-received1.caf」をダウンロード
Ver.0.2でバイブレーションが動作するようになりました。SMSの送信音などが欲しい方には、上記の方法もあります。
MobileMail.app、i.softbank.jpの着信音振り分けは対応してませんし、対応する予定もありません。
設定はplistを直接編集という形です。今は設定アプリを作る元気がありません。
バイブレーションのパターンを個別に変えるという機能も追加は考えていません。
分かる人だけ使ってください。
関連ファイルは、「/var/mobile/Documents/SmartBiff」にまとめてあります。
振り分けの条件設定ファイルは、そこにある「SmartBiffRules.plist」です。
無保証です。
履歴
Ver.0.2 (2009.07.23)
バイブレーションが動作しなかった想定外の動作を修正
Ver.0.1 (2009.07.19)
初版
振り分け条件設定ファイルSmartBiffRules.plist解説
編集には、Xcode付属のProperty List Editorやテキストエディタなどを使ってください。
エンコーディングはutf-8です。
Root以下の要素
Active: SmartBiffの有効無効。無効にした場合は無条件でDefaultRingtoneに指定した着信音を鳴らす
RingtonePath: 着信音を設置するパス
DefaultRingtone: SMS/MMSで振り分け条件が一つも成立しなかった場合に鳴らす着信音
ISoftbankJpRingtone: i.softbank.jp(Eメール(i))の着信通知時に鳴らす着信音
ISoftbankJpAlertMessage: i.softbank.jp(Eメール(i))の着信通知時に表示されるダイアログの置き換えメッセージ
Root/rules以下の要素
Root/rulesは振り分け条件の配列になっています。
上のものから処理していきます。条件が成立した時点でそれ以下のものは飛ばしますので、順番をよく考える必要があります。
Active: この振り分け条件の有効無効
AllCriteriaMustBeSatisfied: Criteria以下の条件の全部一致を必須とするか(AND)、Criteria以下の条件のいずれか一つが一致すれば条件成立とするか(OR)決める。trueが前者、falseが後者
Ringtone: 着信音ファイル指定。「RingtonePath」で指定したパスに置いておく必要がある
RuleName: 振り分け条件名。どんな名前でも構わない
Criteria: 実際の振り分け条件を指定。詳しくは次項
Root/rules/dict/Criteria以下の要素
Root/rules/dict/Criteriaは、実際の振り分け条件の配列になっています。
上のものから処理していきます。AllCriteriaMustBeSatisfiedがfalseの場合は条件が一つでも一致した時点で成立となり、それ以下のものは飛ばしますので、順番をよく考える必要があります
AllCriteriaMustBeSatisfiedがtrueの場合は、Criterianにある条件はすべて評価します。そして、どれか一つでも一致しない条件があれば不成立となります
Criteria以下にある要素は、HeaderとExpressionの2要素から成ります。
Header: 着信したメールの、どのフィールドとExpressionとを照合するかを指定します。Address、Name、Messageの3種類指定できます。
Expression: 指定したフィールドに、どんな文字列が登場したら条件一致とするかを指定します。照合は部分一致で実施しますので、例えば、「Header」を「Address」、「Expression」を「gmail.com」と指定したら、Gmailのアドレスから来たメールはすべて条件一致となります。
Address: メールアドレス、SMSの場合はハイフン無しの電話番号を指定
Name: SMSの場合は、その電話番号が登録されている「連絡先」の名前
Message: 本文。どうもSubjectは引っかけられない模様?
ヘッダは3種類指定できますが、Criteria以下に同じ種類の「Header」を複数件登録しておくこともできます。
例えば、「Header」が「Address」のものばかり複数件登録ということもできます。これで「AllCriteriaMustBeSatisfied」をfalseにしておけば、着信音のグループ指定という意味になります。
この説明で理解できたあなたはすごい!
「/var/mobile/Documents/SmartBiffRules.plist」が簡単なサンプルになっているので、見てみてください。
インストール
インストールは、いつものCydiaのリポジトリから「SmartBiff」で検索してください。
Recent Comments