我的QuickLook插件会为文档生成HMTL预览。我需要显示保存在插件包中的图像。仅使用imageNamed:
方法获取NSImage
类的实例不起作用。怎么能实现呢?这是
Quick Look生成器被设计为CFPlugIn样式的包。
正如文件所说的那样?
答案 0 :(得分:7)
我相信+ imageNamed:使用NSBundle的+ mainBundle方法。在那种情况下,这不是你的插件的捆绑。
我认为您需要直接询问插件的捆绑包:
NSString * path = [[[NSBundle bundleForClass:[MyPluginClass class]] pathForResource:@"MyImage" ofType:@"tif"];
NSImage * image = [[[NSImage alloc] initWithContentsOfFile:path] autorelease];
这是在浏览器中写的,所以可能不准确。 : - )
答案 1 :(得分:4)
在插件代码中,您可以访问插件CFBundle:
QLThumbnailRequestGetGeneratorBundle或QLPreviewRequestGetGeneratorBundle
获得捆绑包后,您可以使用以下方式查询资源文件URL:
CFBundleCopyResourceURL