5

私の QuickLook プラグインは、ドキュメントの HTML プレビューを生成します。プラグイン バンドルに保存されている画像を表示する必要があります。メソッドを使用しimageNamed:てクラスのインスタンスを取得するだけでNSImageは機能しません。どうすればそれを達成できますか?それは事実の結果ですか?

Quick Look ジェネレーターは、CFPlugIn スタイルのバンドルとして設計されています。

ドキュメントが言うように?

4

2 に答える 2

7

+imageNamed: は NSBundle の +mainBundle メソッドを使用していると思います。その場合、それはプラグインのバンドルではありません。

プラグインのバンドルに直接問い合わせる必要があると思います:

NSString * path = [[[NSBundle bundleForClass:[MyPluginClass class]] pathForResource:@"MyImage" ofType:@"tif"];
NSImage * image = [[[NSImage alloc] initWithContentsOfFile:path] autorelease];

これはブラウザで書かれたものなので、正確ではないかもしれません。:-)

于 2010-11-27T15:22:45.527 に答える
4

プラグイン コード内で、プラグイン CFBundle にアクセスできます。

QLThumbnailRequestGetGeneratorBundle または QLPreviewRequestGetGeneratorBundle

バンドルを取得したら、次を使用してリソース ファイルの URL をクエリできます。

CFBundleCopyResourceURL

于 2010-12-25T00:38:27.023 に答える