Wordbook2

前回の日記で宣言したように VMware について書くつもりでいたのですが、今回は Wordbook2 に関する内容です。

2007/12/09 [ id:KYoshiaki:20071209 ] で書いたように、Universal Binary 化した Wordbook.mdimporter は正しく動作しませんでした。 Wordbook で作成した書類に UTI*1 が宣言されていないとだめなようです。 UTI は、小文字で宣言するみたいです。

折角なので Wordbook を作り直してみました。機能も少し追加しました。いずれ Wordbook2 として公開する予定です。

ついでに Spotlight Importer だけでなくQuick Look にも対応してみました。

まず最初に

Quick Look Programming Guide: Introduction to Quick Look Programming Guide
http://developer.apple.com/documentation/UserExperience/Conceptual/Quicklook_Programming_Guide/Introduction/chapter_1_section_1.html

を読みました。

Thumbnail、Preview の違いは、Thumbnail が Finder 上の Cover Flow で表示されるそれぞれの画像で、Quick Look アイコンをクリックするかスペースバーを押すと表示される画像やファイルが Preview のようです。あまり自信がありませんが!

早速作成してみました。Xcode で新規プロジェクトQuick Look Plug-In を選び、Cocoa.framework、CoreFoundation.framework を追加しました。言語に Objective-C を利用したいので、作成されるファイルの拡張子を m に変更しました。

GenerateThumbnailForURL.m
GeneratePreviewForURL.m

HTML を利用して Preview したいので

Quick Look Programming Guide: Generating Enriched HTML
http://developer.apple.com/documentation/UserExperience/Conceptual/Quicklook_Programming_Guide/QLDynamicGeneration/chapter_7_section_3.html#//apple_ref/doc/uid/TP40005020-CH15-SW2

を参考にコードを追加しました。

Quick Look Programming Guide: Project Configuration
http://developer.apple.com/documentation/UserExperience/Conceptual/Quicklook_Programming_Guide/QLProjectConfig/chapter_4_section_3.html#//apple_ref/doc/uid/TP40005020-CH5-DontLinkElementID_9

を参照して Info.plist を設定するとWordbook2 の書類を Quick Look で表示できるようになりました。

また、 Xcode で ‘ビルドして進行’ を選ぶと Preview するように

Quick Look Programming Guide: Debugging and Testing a Generator
Quick Look Programming Guide: Debugging Facilities
http://developer.apple.com/documentation/UserExperience/Conceptual/Quicklook_Programming_Guide/QLDebugTest/chapter_11_section_2.html#//apple_ref/doc/uid/TP40005020-CH14-SW3

を参考に Xcode のメニュー ‘プロジェクト/新規カスタム実行可能ファイル…’ を選択して、設定しました。

引数は

-p -c jp.koyama.wordbook2.ywrd2 -g QuickLookWordbook2.qlgenerator "$(SRCROOT)/Sample1.ywrd2"

としました。

Wordbook2 の書類 Sample1.ywrd2 の UTI を確認するには

/Wordbook2 $ mdimport -d2 Sample1.ywrd2
(Info) Import: Import '/Users/XXXX/Wordbook2/Sample1.ywrd2' type 'jp.koyama.wordbook2.ywrd2' 

のように mdimport コマンドで確認できます。

Quartz 2D Programming Guide: Introduction to Quartz 2D Programming Guide
http://developer.apple.com/documentation/GraphicsImaging/Conceptual/drawingwithquartz2d/dq_intro/chapter_1_section_1.html#//apple_ref/doc/uid/TP30001066-CH201-TPXREF101

は、まだ読んでいる途中ですが、参考になると思います。私の英語の読解力は乏しいので、間違ったことを言っている可能性もあります。

最後に Xcode で ‘ビルドして進行’ を実行した画像を添付しておきます。

追記。すでに日本語に翻訳したものがありました。

Quick Lookプログラミングガイド: Quick Lookプログラミングガイドの紹介
http://developer.apple.com/jp/documentation/UserExperience/Conceptual/QuickLook_Programming_Guide/Introduction/chapter_1_section_1.html#//apple_ref/doc/uid/TP40005020-CH1-DontLinkElementID_14

*1:Uniform Type Identifier

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です