アーカイブ

  • クラスメソッドかインスタンスメソッドか

    AppleScriptObjC に関しては、風のウワサで「何でもできるよ!」と聞いてはいたのですが、Cocoa/Objective-C と AppleScript の両方やっている身からすると、触っていくうちにそこかしこで「え? Cocoa のあれどうやってやるの?」という場面に遭遇します。

    ふと思ったのが、AppleScript のクラスでどうやってクラスメソッドを定義するのか ということです。ひとまずの結論としては、クラスメソッドとして呼びたければそのように、インスタンスメソッドとして呼びたければそのように呼べばいい ようです。

    サンプルコード

    ClassMethodOrInstanceMethod.zip

    2009年 August 30日 | Filed under Uncategorized
  • AppleScript で書いたクラスを ObjC から使う

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

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

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

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

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

    サンプルコード

    UseASClassFromObjC.zip

    2009年 August 30日 | Filed under Uncategorized
  • Notes:iPhone SDK をインストールしようとしている AppleScript Studio ユーザーの方へ

    iPhone の登場は、モバイルコンピューティングの世界に大きな衝撃をもたらしました。

    そして、その登場から一年。ネイティブアプリの開発を可能にする iPhone SDK の投入によって、新たな革命が起ころうとしています。

    世界中の優秀な開発者たちは、いま最も注目されている携帯デバイス上で、自分の実力を試すことができる時を、今か今かと待ち構えているところでしょう。

    その iPhone と並び称される Apple のプロダクトに、AppleScript Studio があ…… るわけは全くありませんが、久しぶりに AppleScript Studio のお話を。

    iPhone SDK をインストールする前(Xcode のバージョン=3.0)に:

    /Developer/Library/Xcode/Plug-ins/ASK*.pbplugin をバックアップ しておきましょう。(※ 実際は ASKPlugin.pbplugin だけでいいのですが、念のため)

    理由は言えません。

    2008年 May 9日 | Filed under Uncategorized
  • Leopard:10.5.2 First Impression

    事前に「ものすごいサイズになる」という噂を聞いていたので、ちょっと拍子抜け(それでも Leopard Graphics Update と合わせて 200MB 強はありましたが)しましたが、早速アップデートしました。

    以下、非常に偏った感想を。

    2008年 February 13日 | Filed under Uncategorized
  • Notes:AppleScript(Studio)でキーチェーンを使う

    ※ これは Kaku 1.0.2・Kaku 1.1a2 リリース からのスピンオフ記事です。

    パスワードなどを扱いたいときに、システム標準の「キーチェーン」にアクセスできると便利です。

    AppleScript でそれを行うために、「Keychain Scripting」というスクリプティング機能追加(正確には、その処理を代行してくれるウィンドウのないアプリケーション)が用意されていますが、これが不具合てんこ盛りの代物なのです。

    まず、Studio じゃない場合の不具合からいくと、

    認証ダイアログで「拒否」すると、Keychain Scripting がハングする。 複数のスクリプトが Keychain Scripting にアクセスすると、不安定になる(これは僕自身では確認していません)。

    また、AppleScript Studio から Keychain Scripting を使おうとする人がどれだけいるか分かりませんが、上記に加えて、

    なぜかフィルタ参照が使えなくなる。それも全部ではなく、項目によって。試してみないと分からない。例えば、 first key of current keychain whose account is “ppm” など。 (上の問題と関連していたかもしれませんが)リテラルなら大丈夫なのだが、変数を与えるととたんに動かなくなる。例えば、 first key of current keychain whose account is accountVar などが、ときに動かなくなる。 一度登録したキーの内容を変更できない(普通の AppleScript ならできる)

    …と、意味の分からない不具合が多々あるのですが、AppleScript からシームレスに呼び出せるという利便性もあり、以前のバージョンの Kaku では、フィルタ参照で済むはずのところを repeat 文にしたり、内容の変更ができないので 削除 → 新規登録 で対応したりと、なんとか手なずけて使っていたのですが、やはり Hiro さんのところでハングしてしまう、ということで、代替案を探しました。以下では、僕の選択肢に入ったものを紹介しています。キーチェーンを使いたい動機が違えば、選択肢が変わってきますので、全て載せます。

    security コマンド

    do shell [...]

    2008年 January 9日 | Filed under Uncategorized
タグ: ‘AppleScript Studio’ の記事