Scripting Bridgeについて 2

in

アプリケーションからメールボックスの受信メール一覧を作成する超簡単なサンプルを作成してみました。

適当なプロジェクトを作成しフレームワークにScriptingBredge.Frameworkを追加し、Mail.hはプロジェクトのルール設定にsdefとsdpのコマンドを追加します。後は、Mail.hをimportして準備完了。(画像参照)(もちろん、事前にコマンドで作成したMail.hをプロジェクトに組み込んでもOKです。

ルール設定

まず、MailApplocationクラスのインスタンスを生成します。受信ボックスの取得は、

  • draftsMailbox
  • inbox
  • junkMailbox
  • outbox
  • sentMailbox
  • trashMailbox

のように種類を選択することができます。各メールボックスはアカウント毎に作成されていますから、例えば受信ボックスはアカウント毎に複数個あることになります。このような場合に使用されるのが、SBElementArrayクラスとなります。

MailMailbox* mmbox = [mail inbox];
SBElementArray* mailboxes = [mmbox mailboxes];

後は、メールボックス毎のアカウントとSubject一覧を表示します。

MailMailbox* mbox;
MailMessage* msg;
for (mbox in mailboxes)
  {
    NSLog(@"%@",[[mbox account] name]);
    SBElementArray* messeages = [mbox messages];
    for(msg in messeages)
      {
        NSLog(@"->%@",[msg subject]);
      }
  }

こんな感じでちゃきちゃきと進めていけるわけです。どういうプロパティやメソッドがあるかは都度、都度、ヘッダを読むかAppleScriptのドキュメントを参照しながら作業を進めていくことになりますが例えばAppleScriptを書き慣れている人であればそれほどとまどうこともないかと思います。

この記事のトラックバックURL:

http://hippos-lab.com/blog/trackback/243

Comments


Apple Store(Japan)