iPhoneやiPadにインストールされているiOSはバージョン3.0からプッシュ通知という機能が搭載されており、アプリによってニュースやTwitterのmention、メールの着信通知などを行う事が出来ます。なかなか便利な機能なのですが、当然それらはアプリによって通知されてくる内容やタイミングがコントロールされています。そこで、BoxcarというiPhone/iPad Appと、GrowlというMac Appを使うと、AppleScriptを使って好きなタイミングに好きなメッセージをMacからiPhone/iPadへPush通知する事が出来ます。紹介してみます。
[必要な物]
今回紹介する方法で必要な物は…
- iOS 3.0以降がインストールされ、ネットワークに接続されているiPhoneかiPad。
- Mac。こちらもネットワークに接続されている必要有り。
- Mac OS X Leopard以降(たぶん)。
です。
[iPhone/iPadの準備]
App StoreからBoxcarをインストールします。iTunes/App Storeへのリンクはこちら。
広告が表示されますが、無料で入手出来るAppです。
インストール後に起動し、新たにサインアップするか、Boxcarのアカウントを持っていればサインインしてBoxcarを使える状態にします。
そもそもBoxcarはMacからのPush Notificationのみではなく、様々なサービスをプッシュ通知してくれるアプリです。例えば予め設定しておいたFacebookアカウント、Twitterアカウント、Emailアカウントを監視してお知らせしてくれます。今回、MacからのPush Notificationを受け取る為にGrowlサービスを利用します。
Boxcarへサインインするとメッセージの一覧もしくはサービス追加の画面になるので、追加ボタンをタップしてリストの一番下にあるGrowlを追加します。
Growlサービスの追加は、単純にサービスのリストからGrowlをタップしてプッシュ通知を受け取った時のサウンドやアラーム、バッジのアップデートをするかどうか設定してSaveをタップするだけです。
これでiPhone/iPad側の準備は完了です。
[Mac側の準備 その1 – Growlとプラグインのインストール]
MacにはGrowlをインストールします。
GrowlはこちらのURLからダウロードでき、ダウンロードしたインストーラーをダブルクリックしてMacへインストールします。
インストールするとシステム環境設定にアイコンが増えます。クリックしてGrowlが起動している事を確認しておき、一旦閉じます。
次に、Growl用のBoxcarプラグインをこちらのBoxcar Webサイトからダウンロードします。ダウンロードしたZIPに含まれる「Boxcar.growlView」をダブルクリックすると確認メッセージが表示されるので、インストールします。
すると、先ほどのGrowlシステム環境設定の「表示オプション」の「表示スタイル」リストにBoxcarが追加されます。
Boxcar表示スタイルをクリックすると右側にBoxcarにサインアップした時のE-mailアドレスとパスワードの欄が表示されるので、入力して Verify Login をクリックします。正しい情報を入力すると、Verify Loginの右側に「Great!」と表示され、正常に認証出来た事が分かります。
この時点で、右下にある「プレビュー」ボタンをクリックするとiPhone/iPadにメッセージがプッシュ通知されるはずです。
[Mac側の準備 その2 – AppleScriptを使ってGrowlを操作]
AppleScriptエディタを起動します。標準でアプリケーションフォルダ中のユーティリティフォルダに入っています。
初回のみ、GrowlにBoxcarへのプッシュ通知する為のアプリケーションを登録する必要があるので、以下の様なスクリプトを実行します。
tell application “GrowlHelperApp”
— Growlに登録する為のコマンド
— 一度実行し、Growlのアプリケーションリストで有効化する。
register as application “Boxcar Notification” all notifications {“MacBook Air“} default notifications {“MacBook Air“} icon of application “Script Editor”
end tell
緑色の部分は適宜変更してください。特に変更せずこのままでも問題はありません。一度このスクリプトを実行すると、Growlシステム環境設定の「アプリケーション」リストに「Boxcar Notification」が追加されているはずです。(システム環境設定を開いたままAppleScriptを実行した場合は一度閉じて開き直します)
リストから今追加された「Boxcar Notification」を選択し、設定…ボタンをクリックします。
設定を変更すべきポイントがいくつかあります。
まず「アプリケーションの表示スタイル」をBoxcarへ変更します。
次に、通知のタブで「有効」にチェックを入れます。
やっと準備完了です。
[MacからPush通知]
いよいよ最終段階です。
AppleScriptエディタで次の様なスクリプトを実行します。
Growlへ登録したアプリケーション名、通知名は緑色のテキストで示しました。これらは準備段階で登録した文字列に合わせる必要があります。そして、赤色のテキストで示した箇所がiPhone/iPadへプッシュされるタイトルとメッセージになります。
tell application “GrowlHelperApp”
— 上の登録と有効化がされていれば通知は以下のコマンドで可能になる。
notify with name “MacBook Air” title “Test Notification” description “This is a test notification from MacBook Air.” application name “Boxcar Notification”
end tell
このスクリプトを実行すると次の様にiPhone/iPadへBoxcarからのプッシュ通知が表示されます。もちろん、日本語の通知もOKです。
何らかの処理を行うAppleScriptに埋め込む事で、その処理の進捗状況や結果をiPhone/iPadへ通知して外出中に知る事も出来そうです。ウチはこの方法を用いて、Crontabで動かしているビデオファイルの変換状況をプッシュ通知させたりしています。
参考リンク: