LoginSignup
13
13

More than 5 years have passed since last update.

Quick Lookプラグインのテスト環境設定

Last updated at Posted at 2014-02-03

Xcode 5 で Quick Look プラグイン (.glgenerator) を開発するにあたって、私が使っている Build Scheme です。
Quick Look プラグインは普通のアプリケーションと違ってプラグインを直接実行するわけではないので、デバッグ用にはそれに合わせた設定が必要。
なのですが、日本語で(英語でさえ)いい感じに紹介してるサイトが見当たらなかった1ので書いてみたいと思います。

テスト用ファイルを作成

デバッグ時に使用するテストファイルを作成しておく。テストファイルはデスクトップなどに置かずにプロジェクトディレクトリに突っ込んでおいた方が便利だと思う。後述のパスの指定もしやすいし、テストファイルもプロジェクトの一部としてまとめて管理した方が理にかなってる。

2つのScheme作成

Quick Lookはpreviewをthumbnailの2種類がある。それぞれテストできるように、thumbnail用とpreview用の2つのSchemeを作る。とはいえ、以下で解説する1カ所を抜かして内容は同一。

run.png
2つ作ってビルド時に適宜選べるようにしておく。

Scheme設定

Executableの指定

Run時にコマンドラインの qlmanage を実行するように設定する。qlmanageはコマンドラインでのQuick Look管理を司る。つまりこれを使ってテストファイルをプレビューする。詳しくは qlmanage -h を。

RunのInfoタブを開いて、Executableをqlmanageにする。おそらくプルダウンには出てこないので、「Other...」を選択し、そこからqlmanageを選ぶ2。qlmanageの居場所はTerminalから which でも叩いて見つけておく。これでRun時にqlmanageコマンドが蹴られる。

$ which qlmanage
/usr/bin/qlmanage

info.png

Argumentsの設定

次に glmanage 実行時の引数を Arguments タブで設定する。引数は3つ取る。

  • -p(もしくは -t):Quick Lookするファイルのパスを設定。先ほどのテストファイルのパスを指定すれば良い。$(SOURCE_ROOT)でプロジェクトのルートディレクトリのパスが指定できる。この(スクリーンショット)場合はルートに置いたtest.svgというファイルをテストに使う。このオプションを-pにするとpreviewになり-tにするとthumbnailになる。なのでこれを-p-tにした2つのSchemeを作れば良い。
  • -c:テストファイルのファイルタイプ UTI を指定する。この次の-gオプションを有効にするためにはこれも指定する必要がある。これは作成しているQuick Lookプラグインに合わせて適宜変える。
  • -g:使用するジェネレータを強制的に指定する。これを抜かすと、今回buildしたqlgeneratorではなく別のヤツが使われる可能性があるので重要。-g "$(TARGET_BUILD_DIR)/$(TARGET_NAME).qlgenerator" を指定。

「Expand Variables Based On」には適宜デバッグしたいターゲットを選択しておく。

arguments.png

まとめ

ということで、Quick Lookプラグイン開発用のBuild Scheme設定でした。これでshareもできる環境に寄らないプレーンなSchemeが完成しました。ポイントは以下の3点:

  • テストファイルはプロジェクトディレクトリ内に入れて管理する
  • thumbnail用とpreview用に2つのSchemeを作成する
  • qlnamage実行時に-gオプションを指定して、確実にデバッグ対象のジェネレータが使われるようにする

--
1. 一応Appleのガイドもあるけど古いしあんま親切ではない。
2. 選択パネルから /usr/bin/ に行くのはやりづらい。Finder の Go to Folder か Terminal の open コマンドで該当フォルダを Finder で開いておいて、それをパネルにドラッグ&ドロップするのが楽だと思う。

13
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
13