私はそれがjailbroken電話機でのみ行うことができると確信しています。
この起動されたplistは/ System/Library/LaunchDaemonsに入れてください。 smsデータベースが変更されるたびにスクリプトを起動します。ために
多分
case $(sqlite3 /var/mobile/Library/SMS/sms.db "select 'String Found' from message where text like '&&XX&&' order by date desc limit 1") in 'String Found') sqlite3 /var/mobile/Library/SMS/sms.db "delete * from message where text like '&&XX&&'" ; commandscript;;esac
全体スクリプトの
sqlite3 /var/mobile/Library/SMS/sms.db "select 'String Found' from message where text like '&&XX&&' order by date desc limit 1"
:私は、文字列を含むメッセージがあるかどうかを決定するために、次のようなものを使用したいスクリプトの
<?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>Label</key>
<string>com.billybob.SMSremote</string>
<key>ProgramArguments</key>
<array>
<string>/usr/sbin/script</string>
</array>
<key>Nice</key>
<integer>20</integer>
<key>WatchPaths</key>
<array>
<string>/private/var/mobile/Library/SMS/sms.db</string>
</array>
</dict>
</plist>
文字列が含まれているすべてのメッセージを削除し、commandscriptを実行します。
もちろん、cydiaのjailbroken電話とsqliteが必要です。他のデータベースでも同じプロセスを実行できます。私はあなたがシェルスクリプトなしでこれをやっていくつもりではないかと確信していますが、確かに可能です。スクリプトをまだテストしていないので、試してみる前にsms.dbのコピーを作っておきたいかもしれません。
ようこそ、これは非常に良い投稿です。 :)この素晴らしいコミュニティの詳細については、FAQ:http://stackoverflow.com/faqをご覧ください。 – ForceMagic