AppleScript で書いたクラスを ObjC から使う

XcodeScreenSnapz011

Snow Leopard では、AppleScript Studio の後を継いで AppleScriptObjC.framework が導入され、Cocoa の大半の機能を AppleScript から利用できるようになりました。

例えば、AppleScript から Cocoa/Objective-C のクラスを利用したり、AppleScript でそれらのクラスのサブクラスを作成できるようになりました(言い換えれば、作成しなければならなくなった …笑)。

少し残念なのは、前述の通り 「AppleScript から Cocoa の機能を利用する」ことに重点が置かれており、Cocoa/Objective-C の世界から AppleScript を利用する ことには(まだそんなに調べていませんが)重点が置かれていないようです。

ただ、AppleScript で書いたクラスも、アプリケーションの動作中には Objective-C のクラスとして存在するわけで、それにアクセスするのは、(ヒネた内部構造になっていなければ)さほど難しくないはず…。

というわけで作成したのが、今回のサンプルコードです。

サンプルコード

Evernote for iPhone hack 再び

Saved Search の削除

以前、Saved Search の検索キーワードにダミーのキーワードを設定することによって、Note を Notebook 単位で見やすくする方法を 書き ましたが、この方法の問題点の1つとして、作成した Saved Search を削除できない というものがありました。

現状、Evernote for iPhone の「Saved Searches」画面 の項目の上でスワイプしても、他のアプリのような削除ボタンは現れません。

これはどうすればいいのかというと、Mac 版のクライアントソフトで削除することができます。クライアントソフトの各機能をちゃんと活用してる人には、今さら何だ、という話かもしれませんが 汗(以前の記事参照)

iPhone 上で Saved Search に変な名前を付けちゃったときにどうぞ。

Continue reading

Codes:del.icio.us の bundle を WebnoteHappy のスマートフォルダに変換するスクリプト

ダウンロード Download

Bundles2SmartFolders.zip(7.6KB)

これは何? What’s This?

del.icio.us API を通じて bundle のデータを取得し、それに対応したスマートフォルダを WebnoteHappy に追加する、実験的なスクリプトです。

An experimental script, which retrives bundle data through del.icio.us API, then adds corresponding smart folders to WebnoteHappy.

動作環境 System Requirements

System Events/Property List Suite を使っているので、Leopard 専用 です。ただし、その部分を普通のテキストベースの編集に修正していただければ、Tiger 以前の環境でも動作させることができると思います。

Leopard only. Because this script using System Events/Property List Suite. But you can easily run on OSes before Tiger, if you rewrite that part as usual text file I/O.

Continue reading