16 votes

LSOpenURLsWithRole() a échoué avec l'erreur -10810 - L'application téléchargée ne démarre pas.

J'essaie d'exécuter une application téléchargée sur Internet (par exemple, Jabref), mais il semble qu'elle échoue en silence. Lorsque j'essaie de l'ouvrir en double-cliquant dessus, rien ne se passe. Lorsque j'utilise le terminal, j'obtiens le message suivant :

LSOpenURLsWithRole() a échoué avec l'erreur -10810 pour le fichier .../xxxx.app

J'ai essayé plusieurs suggestions que j'ai trouvées ici comme changer les permissions et modifier le fichier Info.plist, mais rien ne fonctionne.

Comme il s'agit d'une application Java, j'ai essayé de l'exécuter via le terminal en utilisant

java -cp "CLASSPATH" MAINCLASS

et cela fonctionne bien.

Juste pour mentionner que je reçois cette erreur non seulement avec cette application, mais pour quelques autres applications.

Merci d'avance.

9voto

d0k Points 1890

LSOpenURLsWithRole est une fonction qui permet d'associer un fichier à un programme. Le fichier sur lequel vous double-cliquez n'est en fait pas une application, mais un fichier de données.

C'est ainsi, par exemple, qu'en double-cliquant sur un document texte, le programme TextEdit ou une autre application associée est lancé.

Vous devez l'associer au runtime java, en supposant qu'il soit installé.

Si vous cliquez avec le bouton droit de la souris sur le fichier et sélectionnez Obtenir des informations, le volet d'information comporte une section intitulée "Ouvrir avec :". Elle doit être définie sur le runtime java.

5voto

AndrewJC Points 151

Pour tous ceux qui viennent ici et qui rencontrent ce problème pour un programme non-Java : Je recevais le même message d'erreur lorsque j'essayais d'exécuter un fichier .app contenant un exécutable Mach-O. En essayant d'exécuter l'exécutable directement à partir du bundle (par ex. Foo.app/Contents/MacOS/bar ) m'a donné une bien meilleure erreur indiquant qu'il me manquait une dépendance de librairie dynamique :

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

Vous pouvez essayer si vous rencontrez cette erreur.

2voto

Jamie Points 191

Je rencontrais également cette erreur avec un programme Java que j'essayais de déployer. Je n'ai pas réussi à le faire fonctionner sur mon deuxième Mac : 10.11.6. J'ai cherché partout la réponse, mais je ne l'ai jamais trouvée, alors je la mets ici pour que d'autres puissent en profiter. En lançant la console système, j'ai découvert le message d'erreur selon lequel le programme "open" n'a pas pu trouver le programme "JavaApplicationStub" dans le bundle Contents. Le problème est que mon bundle utilisait "JavaAppLauncher" pour le lancement. Je viens de passer de l'ancien JarBundler d'Apple à l'AppBundler d'Oracle pour pouvoir signer l'application, et le nom du programme de lancement est différent. La clé ici est que le nouveau bundle (version 7.1.1) remplaçait l'ancien (version 7.1.0), et avait le même nom d'application. L'ancienne version utilisait JavaApplicationStub pour le lancement.

Il semble que les propriétés Info.plist du programme aient été mises en cache et que le programme ait utilisé des valeurs périmées pour lancer le nouveau paquet. Je ne sais pas si le cache est effacé lors de la déconnexion ou du redémarrage, ou si cela est corrigé dans les nouvelles versions d'OS X, mais je dois faire en sorte que cela fonctionne sans problème pour tous les utilisateurs finaux.

J'ai contourné le problème en incluant le numéro de version dans le nom du programme.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X