My QuickLookプラグインがドキュメントのHMTLプレビューを生成します。私はプラグインバンドルに保存された画像を表示する必要があります。単純にimageNamed:
メソッドを使用してNSImage
クラスのインスタンスを取得することはできません。どのように達成することができますか?QuickLookプラグインのリソースにアクセスするには?
クイックルックジェネレータは、CFPlugInスタイルのバンドルとして設計されています。
ドキュメントに記載されていますか?
My QuickLookプラグインがドキュメントのHMTLプレビューを生成します。私はプラグインバンドルに保存された画像を表示する必要があります。単純にimageNamed:
メソッドを使用してNSImage
クラスのインスタンスを取得することはできません。どのように達成することができますか?QuickLookプラグインのリソースにアクセスするには?
クイックルックジェネレータは、CFPlugInスタイルのバンドルとして設計されています。
ドキュメントに記載されていますか?
プラグインのコードの中で、あなたはあなたのプラグインのCFBundleにアクセスすることができますが:あなたは、バンドルを持っていたら
QLThumbnailRequestGetGeneratorBundleまたはQLPreviewRequestGetGeneratorBundle
することは、あなたが使用してリソースファイルのURLを照会することができます
CFBundleCopyResourceURL
私は+ imageNamed:NSBundleの+ mainBundleメソッドを使用すると信じています。その場合、それはあなたのプラグインのバンドルではありません。
私はあなたが直接プラグインのバンドルを依頼する必要がありますと思う:
NSString * path = [[[NSBundle bundleForClass:[MyPluginClass class]] pathForResource:@"MyImage" ofType:@"tif"];
NSImage * image = [[[NSImage alloc] initWithContentsOfFile:path] autorelease];
これがブラウザで書かれていたので、それは正確ではないかもしれません。 :-)
ありがとうございました。それは働き、非常に役に立つと分かります。これまで説明したMyPluginClassクラスは、実際のQuicklookプラグインを実装するために特別に書かれたクラスである必要はありません。 Quicklookのプラグインバンドルに含まれているだけです。 – dzolanta
注:ARCで使用するには、-autorelease呼び出しを削除する必要があります。 –