He confirmado que esto solo ocurre en Lion. Descubrí lo que parece ser un error en el que necesitas enfocar una ventana dos veces para que Finder devuelva el resultado correcto sobre el puente de scripting o AppleScript. Esto solo ocurre al abrir una carpeta desde el escritorio u otro espacio.En OS X Lion, solicitando al Buscador la selección actual, devuelve el archivo incorrecto
Así es como duplicar:
- Cerrar, ocultar o minimizar todas las ventanas hasta que el escritorio está mostrando.
- Abra cualquier carpeta en el escritorio, aparecerá una nueva ventana de buscador. Seleccione cualquier archivo en la ventana del buscador haciendo clic en él una vez.
abrir el editor de AppleScript y ejecute el siguiente script:
tell application "Finder" return selection end tell
El script devolverá únicamente la ruta de la carpeta en el escritorio, no el archivo seleccionado en la ventana del buscador.
Si vuelve a enfocar la ventana, o hace clic en el archivo nuevamente, todo funciona como se espera y el script devuelve la ruta correcta.
Esto parece un error en Lion. Snow Leopard regresa el camino correcto el 100% del tiempo.
He probado los siguientes métodos sin éxito:
- Utilizando el puente de secuencias de comandos y https://github.com/davedelong/BetterInfo/blob/master/Finder.h
- El uso de "Eventos del sistema" AppleScript hacer clic en "Editar" -> "Copiar"
- Usando AppleScript para obtener la selección actual del buscador.
Parece que todos tienen el mismo problema.
¿Me falta algo obvio o es realmente un problema con Lion?
Eso parece ser un error. Y un problema cuando muevo algunos de mis Mac a Lion, ya que algunas de mis aplicaciones usan scripting bridge y NSApplescript para obtener selecciones de buscador. – markhunte
He enviado esto como un error a Apple. Seguirlo aquí: http://openradar.appspot.com/radar?id=1467403 –
Lo he enviado a Apple también. Lamentablemente, el próximo mes sale 10.8, y sigue teniendo el mismo error en la Vista previa 4. ¡Apple, WTF! (Oh, solo veo que tu informe realmente se refiere al mío, lo que significa que fui el primero en informar esto. Mierda, esto no está yendo bien. Apple me gustaba más cuando todavía estaban corrigiendo errores como este.) –