2012-09-13 22 views
10

A partir de OS X 10.8 Mountain Lion, Safari crea un icono dinámico al descargar un archivo, como se muestra a continuación:¿Cómo hacer un icono de "descarga" en Finder en Mountain Lion 10.8?

: enter image description here

La barra de progreso muestra el progreso, y haciendo clic en el botón superior izquierdo cerca dice Safari para detener la descarga.

¿Hay alguna manera de que una aplicación de terceros pueda crear este tipo de icono?

Supongo que no hay una manera compatible con App Store para hacer esto, pero tengo curiosidad sobre cómo hacerlo/cómo Safari lo hace solo por el bien de interés.

Respuesta

0

Creo que es parte de NSFileWrapper y es posible que pueda hacerlo con la App Store. No lo sé.

NSFileWrapper *fw = [[NSFileWrapper alloc] initWithURL:fileURL, 
        // don't memory map, we only want to change the icon 
               options:NSFileWrapperReadingWithoutMapping 
               error:NULL]; 

[fw setIcon:updatedIcon]; 

Tenga en cuenta que icon y setIcon son parte de la categoría ApplicationKit, no es la principal aplicación en NSFileWrapper Foundation: https://developer.apple.com/library/mac/#documentation/AppKit/Reference/NSFileWrapper_AppKitAdditions/NSFileWrapperApplicationKitAdditions.html

Editar: Así es como usted podría tener una barra de progreso. Para hacer que el botón de cerrar necesite una referencia NSView al icono, como puede hacer con los iconos de dock.

Editar 2: El navegador WebKit también lo hace (no solo Safari), por lo que si busca en la fuente, probablemente pueda encontrarla.

Editar 3: Creo que se hace automáticamente por NSURLDownload. Podrías usar ese estilo tú mismo si hicieras una descarga falsa que realmente generara el contenido descargado sobre la marcha. Sin embargo, no creo que sea posible hacer un icono arbitrario.

+0

'NSURLDownload' está en desuso desde macOS Sierra. – proxi

Cuestiones relacionadas