XCodeでSpotlightインポーターをバンドルする方法
Posted 11月 23rd, 2007 by hippos
SpotLightインポーターのデプロイは
- MyApp.app/Contents/Library/Spotlight
- /Library/Spotlight
- ${HOME}/Library/Spotlight
のいづれかに配置するわけですが、MyApp.app配下以外に配置するとなると別途インストーラ作成するなどの手間がかかるので通常はアプリケーションにバンドルします。バンドルするにはターミナルから
cp -r MyAppImporter.mdimporter MyApp.app/Contents/Library/Spotlight/とやってもいいわけですがこれは面倒。XCodeのビルドフェーズに「ファイルをコピー」を追加してバンドルするのが正解です。
- プロジェクトに作成したSpotlightプラグインを追加
- ターゲットに「追加」-「新規ビルドフェーズ」-「新規コピーファイル」で「ファイルをコピー」のフェーズを追加
- 作成されたビルドフェーズにSpotLightプラグインをドロップ
なんだか簡単そうですが一つ落とし穴があって、1.プロジェクトにプラグインを追加するときに、「グループとファイル」ペインで「追加」-「既存のファイル...」じゃだめなんですよね。これだとインポーター自身のバンドル構造をコピーできなくてファイル単体のコピーになっちゃいます。お察しの通りぼくはここで数時間ハマりました。正しくは「追加」-「既存のフレームワーク...」でインポーターをプロジェクトに追加、これが正解でした。
この記事のトラックバックURL:
http://hippos-lab.com/blog/trackback/213










Comments