我的 QuickLook 插件为文档生成 HMTL 预览。我需要显示保存在插件包中的图像。简单地使用imageNamed:
方法来获取NSImage
类的实例是行不通的。怎样才能做到这一点?这是因为
Quick Look 生成器设计为 CFPlugIn 样式的包。
正如文件所说?
我相信 +imageNamed: 使用 NSBundle 的 +mainBundle 方法。在这种情况下,这不是您插件的捆绑包。
我认为您需要直接询问插件的捆绑包:
NSString * path = [[[NSBundle bundleForClass:[MyPluginClass class]] pathForResource:@"MyImage" ofType:@"tif"];
NSImage * image = [[[NSImage alloc] initWithContentsOfFile:path] autorelease];
这是在浏览器中编写的,因此可能不准确。:-)
在插件代码中,您可以访问您的插件 CFBundle:
QLThumbnailRequestGetGeneratorBundle 或 QLPreviewRequestGetGeneratorBundle
获得捆绑包后,您可以使用以下命令查询资源文件 URL:
CFBundleCopyResourceURL