Как получить доступ к ресурсам плагина QuickLook? - PullRequest
5 голосов
/ 27 ноября 2010

Мой плагин QuickLook генерирует предварительный просмотр HMTL для документа. Мне нужно отобразить изображения, сохраненные в комплекте плагинов. Простое использование метода imageNamed: для получения экземпляра класса NSImage не работает. Как этого добиться? Это следствие того факта, что

Генераторы Quick Look выполнены в виде комплектов в стиле CFPlugIn.

как написано в документации?

Ответы [ 2 ]

7 голосов
/ 27 ноября 2010

Я считаю, что + imageNamed: использует метод + mainBundle NSBundle. В этом случае это не пакет вашего плагина.

Я думаю, вам нужно будет напрямую спросить о пакете плагина:

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

Это было написано в браузере, поэтому оно может быть неточным. : -)

4 голосов
/ 25 декабря 2010

В коде плагина вы можете получить доступ к вашему плагину CFBundle:

QLThumbnailRequestGetGeneratorBundle или QLPreviewRequestGetGeneratorBundle

Получив пакет, вы можете запросить URL-адреса файлов ресурсов, используя:

CFBundleCopyResourceURL

...