Подтвердить что ты не робот

Запустить окно поиска OSX с выбранными выбранными файлами

Я пытаюсь программно запустить окно OSX Finder из проекта Xcode. Мне нужно открыть окно для конкретной папки и автоматически выбрать определенные файлы в этой папке.

Кто-нибудь знает, как это сделать в объектных параметрах командной строки c, applescript или Finder?

Спасибо!

4b9b3361

Ответ 1

Objective-C версия:

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

Ответ 2

$ open -R <path-to-reveal>

Ответ 3

Еще одна разновидность AppleScript - команда отображения Finder откроет окно для содержащей папки и выберет элемент (ы). Если имеется несколько содержащих папок, будут открыты несколько окон Finder.

tell application "Finder" 
   to reveal {someAlias, "path/to/POSIXfile" as POSIX file, etc}

Ответ 4

Я нахожу, что activFileViewerSelectingURLs не работает над Yosemite (по крайней мере, когда он находится в отдельном пространстве от Finder). Это приведет к переключению на пространство Finder, но не отобразит URL. Использование:

  • (BOOL)selectFile:(NSString *)fullPath inFileViewerRootedAtPath:(NSString *)rootFullPath

будет переключать пробелы из полноэкранного приложения и выбирать путь.

Ответ 5

Быстрая версия:

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

Ответ 6

При открытии файла в path:

NSString* path = @"/Users/user/Downloads/my file"
NSArray *fileURLs = [NSArray arrayWithObjects:[NSURL fileURLWithPath:path], nil];
[[NSWorkspace sharedWorkspace] activateFileViewerSelectingURLs:fileURLs];

Ответ 7

Swift 3.2/4.0 Версия: NSWorkspace.shared.activateFileViewerSelecting([outputFileURL])