LSOpenURLsWithRole () falló con error -10810 - La aplicación descargada no se inicia

10

Estoy intentando ejecutar una aplicación descargada de Internet (por ejemplo, Jabref) pero parece que falla silenciosamente. Cuando intento abrirlo haciendo doble clic en él, no pasa nada. Cuando uso el terminal recibo el siguiente mensaje:

  

LSOpenURLsWithRole () falló con el error -10810 para el archivo ... / xxxx.app

Probé varias sugerencias que encontré aquí, como cambiar los permisos y modificar el archivo Info.plist, pero nada funciona.

Debido a que es una aplicación Java, traté de ejecutarlo a través del terminal usando

  

java -cp "CLASSPATH" MAINCLASS

y funciona bien.

Solo por mencionar que recibo este error no solo con esta aplicación, sino también con algunas otras aplicaciones.

Gracias de antemano.

    
pregunta STiGMa 13.05.2014 - 11:18

3 respuestas

7

LSOpenURLsWithRole es una función que se utiliza para asociar un archivo con un programa. El archivo en el que haces doble clic no es en realidad una aplicación, sino un archivo de datos.

Así es como, por ejemplo, cuando se hace doble clic en un documento de texto, se inicia el programa TextEdit u otra aplicación asociada.

Debe asociarlo con el tiempo de ejecución de java, asumiendo que lo tiene instalado.

Si hace clic con el botón derecho en el archivo y selecciona Obtener información, el panel de información tiene una sección llamada "Abrir con:". Eso debería establecerse en el tiempo de ejecución de Java.

    
respondido por el TheDarkKnight 14.05.2014 - 12:26
1

Para cualquiera que venga aquí y esté viendo este problema para un programa que no sea Java: estaba recibiendo el mismo mensaje de error al intentar ejecutar un archivo .app que contiene un ejecutable Mach-O. Intentar ejecutar el ejecutable directamente desde el paquete (por ejemplo, Foo.app/Contents/MacOS/bar ) me dio un error mucho mejor que indica que me faltaba una dependencia de lib dinámica:

dyld: Library not loaded:/usr/local/opt/qt5/lib/QtWidgets.framework/Versions/5/QtWidgets

Algo para probar si está viendo este error.

    
respondido por el AndrewJC 29.05.2017 - 20:47
0

También encontré este error con un programa Java que estaba intentando implementar. No pude hacerlo funcionar en mi segundo Mac: 10.11.6. Busqué la respuesta en todas partes, pero nunca encontré una, así que estoy poniendo esto aquí para que otros se beneficien. Al iniciar la consola del sistema, descubrí el mensaje de error que indica que el programa "abierto" no pudo encontrar el programa "JavaApplicationStub" en el contenido del paquete. El problema es que mi paquete estaba usando "JavaAppLauncher" para iniciar. Acababa de cambiar de usar el antiguo Apple JarBundler al Oracle AppBundler para poder firmar la aplicación, y el nombre del programa de inicio es diferente. La clave aquí es que el nuevo paquete (versión 7.1.1) reemplazó al anterior (versión 7.1.0) y tenía el mismo nombre de aplicación. El anterior usaba JavaApplicationStub para iniciar.

Parece que las propiedades Info.plist para el programa se almacenaron en caché, y estaba usando valores obsoletos para lanzar el nuevo paquete. No sé si la memoria caché se borra al cerrar sesión o reiniciar, o si esto se solucionó en las versiones más recientes de OS X, pero debo tener este trabajo sin problemas para todos los usuarios finales.

Resolví el problema al incluir el número de versión en el nombre del programa.

    
respondido por el wjrl 25.09.2017 - 19:29

Lea otras preguntas en las etiquetas