2010-01-04 25 views

Respuesta

33

Si entiendo su pregunta, ¿desea abrir la carpeta en la que se guardó algo en el Finder?

Esto debería ser el truco: se supone que tiene una referencia al savePanel.

NSURL *fileURL = [savePanel URL]; 
NSURL *folderURL = [fileURL URLByDeletingLastPathComponent]; 
[[NSWorkspace sharedWorkspace] openURL: folderURL]; 

Si usted está comenzando con un NSString que contiene la ruta, a continuación, empezar con:

NSURL *fileURL = [NSURL fileURLWithPath: stringContainingPath]; 
28

Aún mejor sería que no basta con abrir la carpeta, pero ha seleccionado el archivo guardado. NSWorkspace puede hacer eso por usted:

[[NSWorkspace sharedWorkspace] activateFileViewerSelectingURLs:@[ URLToSavedFile ]]; 

El argumento es una matriz de direcciones URL, así que si usted tiene sólo un archivo que desea revelar, sólo tiene que pasar una matriz de un objeto.

Si, por alguna razón, se orienta a una versión de Mac OS X mayores de 10.6, tendrá que utilizar el método basado en una ruta más antigua en su lugar:

[[NSWorkspace sharedWorkspace] selectFile:pathToSavedFile inFileViewerRootedAtPath:@""]; 

(que desea pasar un vacío cadena para el segundo argumento para que el Finder reutilizará una ventana del Finder existente para la carpeta, si es que existe.)

4

sé que este post es bastante antiguo, pero con el 10,9 lo que queremos hacer es

NSString* folder = @"/path/to/folder" 
[[NSWorkspace sharedWorkspace]openFile:folder withApplication:@"Finder"]; 
Cuestiones relacionadas