LSOpenURLsWithRole () non riuscito con errore -10810 - L'app scaricata non si avvia

10

Sto cercando di eseguire un'applicazione scaricata da Internet (ad esempio, Jabref) ma sembra che non funzioni in modo silenzioso. Quando provo ad aprirlo facendo doppio clic su di esso, non succede nulla. Quando uso il terminale ottengo il seguente messaggio:

LSOpenURLsWithRole() failed with error -10810 for the file .../xxxx.app

Ho provato diversi suggerimenti che ho trovato qui come cambiare i permessi e modificare il file Info.plist, ma niente funziona.

Poiché si tratta di un'applicazione Java, ho provato a eseguirlo attraverso il terminale usando

java -cp "CLASSPATH" MAINCLASS

e funziona perfettamente.

Solo per menzionare che ottengo questo errore non solo con questa app, ma per alcune altre applicazioni.

Grazie in anticipo.

    
posta STiGMa 13.05.2014 - 11:18
fonte

3 risposte

7

LSOpenURLsWithRole è una funzione utilizzata per associare un file a un programma. Il file su cui fai doppio clic non è in realtà un'applicazione, ma un file di dati.

Ecco come, ad esempio, quando si fa doppio clic su un documento di testo, viene avviato il programma TextEdit o un'altra app associata.

Devi associarlo a runtime java, supponendo che tu lo abbia installato.

Se fai clic con il pulsante destro del mouse sul file e selezioni Ottieni informazioni, il riquadro delle informazioni presenta una sezione denominata "Apri con:". Dovrebbe essere impostato su Java Runtime.

    
risposta data 14.05.2014 - 12:26
fonte
1

Per chiunque venga qui che vede questo problema per un programma non-Java: ricevevo lo stesso messaggio di errore quando provavo a eseguire un file .app che contiene un eseguibile Mach-O. Provare a eseguire l'eseguibile direttamente dal bundle (ad esempio Foo.app/Contents/MacOS/bar ) mi ha dato un errore molto migliore indicando che mancava una dipendenza dinamica di lib:

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

Qualcosa da provare se vedi questo errore.

    
risposta data 29.05.2017 - 20:47
fonte
0

Inoltre ho riscontrato questo errore con un programma Java che stavo cercando di implementare. Non riuscivo a farlo funzionare sul mio secondo Mac: 10.11.6. Ho cercato ovunque la risposta, ma non l'ho mai trovata, quindi la sto mettendo qui per il beneficio degli altri. Lanciare la console di sistema, ho scoperto il messaggio di errore che il programma "aperto" non è riuscito a trovare il programma "JavaApplicationStub" nel contenuto del pacchetto. Il problema è che il mio pacchetto utilizzava "JavaAppLauncher" per il lancio. Sono appena passato dall'utilizzo del vecchio Apple JarBundler a Oracle AppBundler, così ho potuto firmare l'app e il nome del programma di avvio è diverso. La chiave qui è che il nuovo bundle (versione 7.1.1) stava sostituendo il vecchio (versione 7.1.0) e aveva lo stesso nome dell'applicazione. Il vecchio usato JavaApplicationStub per l'avvio.

Sembra che le proprietà di Info.plist per il programma siano state memorizzate nella cache e che stia utilizzando valori obsoleti per avviare il nuovo pacchetto. Non so se la cache viene cancellata al logout o al riavvio, o se è stata riparata nelle versioni più recenti di OS X, ma devo farlo funzionare senza intoppi per tutti gli utenti finali.

Ho risolto il problema includendo il numero di versione nel nome del programma.

    
risposta data 25.09.2017 - 19:29
fonte

Leggi altre domande sui tag