Uruchom okno programu OSX Finder z zaznaczonymi konkretnymi plikami
Próbuję programowo uruchomić okno Findera OSX z projektu Xcode. Muszę otworzyć okno do określonego folderu i automatycznie wybrać określone pliki w tym folderze.
Czy ktoś wie jak to zrobić w parametrach wiersza poleceń objective c, applescript lub Finder?
Dzięki!
7 answers
Objective-wersja C:
NSArray *fileURLs = [NSArray arrayWithObjects:fileURL1, /* ... */ nil];
[[NSWorkspace sharedWorkspace] activateFileViewerSelectingURLs:fileURLs];
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-10-05 19:44:03
$ open -R <path-to-reveal>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-04-21 14:14:40
Kolejny smak AppleScript - polecenie Findera reveal otworzy okno do folderu zawierającego i wybierze element(Y). Jeśli istnieje wiele folderów zawierających, otworzy się wiele okien Findera.
tell application "Finder" to reveal {someAlias, "path/to/POSIXfile" as POSIX file, etc}
Stwierdzam, że activateFileViewerSelectingURLs nie działa na Yosemite (przynajmniej w oddzielnej przestrzeni od Findera). Spowoduje to Przełączenie do przestrzeni Findera, ale nie będzie wydawało się, aby wybrać adres URL. Użycie:
-
(BOOL)selectFile:(NSString *)fullPath inFileViewerRootedAtPath:(NSString *)rootFullPath
Przełącza spacje z aplikacji pełnoekranowej i wybiera ścieżkę.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-04-01 04:34:24
Wersja Swift:
let paths = ["/Users/peter/foo/bar.json"]
let fileURLs = paths.map{ NSURL(fileURLWithPath: $0)}
NSWorkspace.sharedWorkspace().activateFileViewerSelectingURLs(fileURLs)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-03-11 13:10:46
Podczas otwierania pliku w path
:
NSString* path = @"/Users/user/Downloads/my file"
NSArray *fileURLs = [NSArray arrayWithObjects:[NSURL fileURLWithPath:path], nil];
[[NSWorkspace sharedWorkspace] activateFileViewerSelectingURLs:fileURLs];
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-03-14 15:08:32
Wersja Swift 3.2/4.0:
NSWorkspace.shared.activateFileViewerSelecting([outputFileURL])
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-12-18 21:49:37