objective-c - todos - finder no muestra archivos
Inicie la ventana del buscador de OSX con archivos específicos seleccionados (7)
Estoy tratando de ejecutar programáticamente una ventana de OSX Finder desde un proyecto de Xcode. Necesito la ventana para abrir una carpeta específica y tener archivos específicos dentro de esa carpeta seleccionados automáticamente.
¿Alguien sabe cómo hacer esto en los parámetros objetivo c, applescript o Finder de línea de comandos?
¡Gracias!
Al abrir un archivo en la path
:
NSString* path = @"/Users/user/Downloads/my file"
NSArray *fileURLs = [NSArray arrayWithObjects:[NSURL fileURLWithPath:path], nil];
[[NSWorkspace sharedWorkspace] activateFileViewerSelectingURLs:fileURLs];
Estoy descubriendo que activateFileViewerSelectingURLs no está funcionando en Yosemite (al menos cuando está en un espacio separado de Finder). Causará un cambio al espacio del Finder pero no parecerá seleccionar la URL. Utilizando:
-
(BOOL)selectFile:(NSString *)fullPath inFileViewerRootedAtPath:(NSString *)rootFullPath
cambiará espacios de la aplicación de pantalla completa y seleccionará la ruta.
Otro sabor AppleScript: el comando de revelación del Finder abrirá una ventana a la carpeta contenedora y seleccionará el (los) elemento (s). Si hay varias carpetas que contienen, se abrirán varias ventanas del Finder.
tell application "Finder" to reveal {someAlias, "path/to/POSIXfile" as POSIX file, etc}
Versión Objective-C:
NSArray *fileURLs = [NSArray arrayWithObjects:fileURL1, /* ... */ nil];
[[NSWorkspace sharedWorkspace] activateFileViewerSelectingURLs:fileURLs];
Versión Swift:
let paths = ["/Users/peter/foo/bar.json"]
let fileURLs = paths.map{ NSURL(fileURLWithPath: $0)}
NSWorkspace.sharedWorkspace().activateFileViewerSelectingURLs(fileURLs)
Versión de Swift 3.2 / 4.0: NSWorkspace.shared.activateFileViewerSelecting([outputFileURL])
$ open -R <path-to-reveal>