Mavericks - Indique a la aplicación "Vista previa" abrir PDF - extraño problema de permisos

4

Recientemente, he movido una gran colección de investigación de archivos PDF, desde un disco de TimeMachine de Snow Leopard 10.6.8, a mi nuevo rMBP (al almacenamiento flash interno). Hice esto manualmente, no a través de la interfaz de TimeMachine. El rMBP ejecuta Mavericks 10.9.3.

Cuando hago doble clic en los archivos PDF, se abren sin problemas en Vista previa.

Pero , cuando escribo un AppleScript pequeño para abrir uno, por ejemplo:

tell application "Preview"
    activate
    open "/Users/me/Desktop/test.pdf"
end tell

Recibo el siguiente error al ejecutar AppleScript:

  

El archivo "test.pdf" no se pudo abrir porque no tiene   permiso para verlo. Para ver o cambiar permisos, seleccione el elemento   en el Finder y seleccione Archivo > Obtener información.

Busco en Obtener información para test.pdf. En la pestaña "Compartir y permisos", no importa a qué configuro los permisos, incluso si todos los usuarios pueden leer & Escribe el archivo, todavía me sale el error.

A la inversa, si descargo un PDF desde Internet, directamente al escritorio, y ejecuto el Applecript para abrirlo, se abre en Vista previa sin problemas.

(p.s. Necesito abrir PDF por AppleScript, como parte de un sistema más grande que tengo, ¡no lo estoy haciendo solo por diversión!)

    
pregunta edison1093 01.06.2014 - 19:45

5 respuestas

0

El comentario proporcionado por Edouard solucionó este problema. Extrañamente, el uso de la línea de comandos para iniciar Vista previa evita el problema de los permisos.

Aquí está el AppleScript modificado, hecho robusto a los PDF con espacios en sus nombres:

    do shell script "open -a Preview " & quoted form of "/Users/me/Desktop/this has spaces and 'punctuation'.pdf"
    
respondido por el edison1093 02.06.2014 - 12:30
2

para mí, el script de shell ... falló, pero este de abajo funcionó.

set filepath to POSIX path of "Users:student:Desktop:Yourfile.pdf" try set command to "open " & quoted form of filepath do shell script command end try

Nota: en lugar de ":" para la ruta del archivo que usé "/", se puede intentar con una modificación.

Fuente del código: MacRumors

    
respondido por el curiousMonkey 07.09.2014 - 21:08
0

Ahora estoy teniendo un problema similar con la vista previa. Descargué algunos archivos de Apple. Puedo usar Quicklook en el Finder para ver su contenido, pero no puedo abrirlo con Vista previa a pesar de poder configurar los permisos en Obtener información para todos, leer y escribir.

Lo verifiqué y otros archivos que estaban bien en la misma carpeta ahora están experimentando este problema. Mirar en la Terminal mostró lo que cambió, aunque no sé por qué

drwxr-xr-x    5 andydent  501       170 22 Jul 00:21 Android
drwx------  182 andydent  501      6188  2 Sep 23:08 Apple various
drwxr-xr-x@   5 andydent  501       170 23 Dec  2007 AppleScript

El Apple varios permisos de directorio parecía un poco extraño, aunque como propietario no creía que los permisos faltantes hicieran una diferencia.

Cambiar los permisos en el directorio no funcionó.

Copiar el archivo en otro lugar no funcionó.

El uso de sudo open iTunesConnect_Guide.pdf no funcionó. Todavía tengo un cuadro de diálogo de error en Vista previa.

Sin embargo cuando salí y reinicié la vista previa, fue capaz de abrir estos archivos sin problemas. Puede que sea así de simple: simplemente salga de la aplicación.

He estado experimentando ralentizaciones raras del Finder en mi sistema con la rueda giratoria funcionando durante muchos segundos al abrir un directorio. No sé si los dos temas están relacionados. También me pregunté si esto estaba relacionado de alguna manera con la configuración de relanzamiento al volver a abrir las ventanas.

    
respondido por el Andy Dent 03.09.2014 - 15:03
0

Este problema es causado por el sandboxing de Vista previa de Apple (y otras aplicaciones). La vista previa no recibe un derecho de acceso al PDF si solo le pasa una cadena para abrir. De Notas de la versión de Apple :

  

Notas de compatibilidad

     

Al enviar comandos a una aplicación de espacio aislado, como TextEdit en OS X Mountain Lion, los parámetros que se refieren a archivos deben ser de un tipo explícito de archivo y no una cadena simple, o la aplicación de destino no podrá acceder el archivo. Por ejemplo, el archivo "Macintosh HD: Users: me: sample.txt", el archivo POSIX "/Users/me/sample.txt", o el resultado de elegir el archivo serían todos aceptables, pero la cadena "/ Users / me / sample.txt "no lo haría.

¿Por qué esto funciona para el archivo en su carpeta de Descargas? Cuando abre un archivo manualmente, la aplicación retiene el derecho de abrirlo (en Recientes, por ejemplo). Por lo tanto, si intentas cualquier archivo que ya hayas abierto, es probable que funcione, pero no funcionará en nuevos archivos.

Para corregir, cambia tu código para que lea:

tell application "Preview"
    activate
    open POSIX file "/Users/me/Desktop/test.pdf"
end tell
    
respondido por el Alan Shutko 05.12.2014 - 18:48
0

La vista previa de reinicio también solucionó el problema de no poder abrir archivos incluso desde el buscador debido a este problema de permisos, como sugirió Andy Dent.

    
respondido por el Mordecai-Mark Mac Low 04.01.2015 - 14:34

Lea otras preguntas en las etiquetas