Я подтвердил, что это происходит только во Льве. Я обнаружил ошибку, из-за которой вам нужно дважды сфокусировать окно, чтобы Finder возвращал правильный результат через мост сценариев или AppleScript. Это происходит только при открытии папки с рабочего стола или другого пространства.
Вот как дублировать:
- Закройте, скройте или сверните все окна, пока не появится рабочий стол.
- Откройте любую папку на рабочем столе, появится новое окно поиска. Выберите любой файл в этом окне поиска, щелкнув по нему один раз.
Откройте редактор AppleScript и запустите следующий скрипт:
tell application "Finder"
return selection
end tell
Сценарий вернет только путь к папке на рабочем столе, а не выбранный файл в окне поиска.
Если перефокусировать окно или снова щелкнуть файл, все работает как положено, и сценарий возвращает правильный путь.
Это похоже на ошибку в Lion. Snow Leopard возвращает правильный путь 100% времени.
Я пробовал следующие методы безуспешно:
- Использование скриптового моста и https://github.com/davedelong/BetterInfo/blob/master/Finder.h
- Используя скрипт Apple «Системные события», нажмите «Редактировать» -> «Копировать»
- Использование AppleScript для получения текущего выбора из искателя.
Кажется, у всех одна и та же проблема.
Я что-то упускаю из виду или это действительно проблема со Львом?