43 votes

Lancer la fenêtre du Finder avec des fichiers spécifiques sélectionnés

J'essaie de lancer par programme une fenêtre du Finder OS X à partir d'un projet Xcode. J'ai besoin que la fenêtre s'ouvre sur un dossier spécifique et que des fichiers spécifiques de ce dossier soient automatiquement sélectionnés.

Ceci est similaire à la fonctionnalité "Afficher dans le Finder" utilisée dans Xcode et les applications associées.

Est-ce que quelqu'un sait comment faire cela dans les paramètres de ligne de commande Objective-C, Swift, AppleScript ou Finder ?

87voto

Wevah Points 17636

Version Objective-C :

 NSArray *fileURLs = [NSArray arrayWithObjects:fileURL1, /* ... */ nil];
[[NSWorkspace sharedWorkspace] activateFileViewerSelectingURLs:fileURLs];

19voto

Matt McClure Points 1519
$ open -R <path-to-reveal>

2voto

Klaas Points 2995

Version rapide :

 let paths = ["/Users/peter/foo/bar.json"]
let fileURLs = paths.map{ NSURL(fileURLWithPath: $0)}
NSWorkspace.sharedWorkspace().activateFileViewerSelectingURLs(fileURLs)

1voto

Joshua Fagans Points 11

Je constate que activateFileViewerSelectingURLs ne fonctionne pas sur Yosemite (du moins dans un espace séparé du Finder). Cela provoquera un basculement vers l'espace du Finder mais ne semblera pas sélectionner l'URL. À l'aide de:

 - `(BOOL)selectFile:(NSString *)fullPath inFileViewerRootedAtPath:(NSString *)rootFullPath` 

changera les espaces de l'application en plein écran et sélectionnera le chemin.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X