2010-11-27 24 views
5

Mi complemento QuickLook genera una vista previa HMTL para el documento. Necesito mostrar imágenes guardadas en el paquete de complementos. Simplemente el uso del método imageNamed: para obtener una instancia de la clase NSImage no funciona. ¿Cómo puede lograr eso? Es una consecuencia del hecho de que¿Cómo acceder a los recursos del complemento QuickLook?

Los generadores de búsqueda rápida están diseñados como paquetes de estilo CFPlugIn.

como dice la documentación?

Respuesta

4

Dentro del código de plug-in, puede acceder a su plug-in de CFBundle:

QLThumbnailRequestGetGeneratorBundle o QLPreviewRequestGetGeneratorBundle

Una vez que tenga el paquete, se puede consultar el archivo URLs de recursos usando:

CFBundleCopyResourceURL

7

Creo + imageNamed: utiliza el método + mainBundle de NSBundle. En ese caso, ese no es el paquete de tu complemento.

Creo que usted necesita preguntar paquete del plugin directamente:

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

Esto fue escrito en el navegador, por lo que puede no ser exacta. :-)

+1

Gracias por su respuesta. Funciona y resulta ser muy útil. Solo para aclarar cosas me gustaría agregar para cualquiera que se encuentre con este hilo que mencionó anteriormente que la clase MyPluginClass no tiene que ser una clase escrita específicamente para implementar el complemento Quicklook real. Simplemente debe incluirse en el paquete de complementos de Quicklook. – dzolanta

+0

Nota: la llamada de la tienda debe ser eliminada para usarla con ARC. –

Cuestiones relacionadas