Requisiti per utilizzare "open -b" bundle.id "" per OS X

0

Ho uno script di post-installazione che si apre e esegue la mia applicazione in silenzio. L'app è stata realizzata utilizzando Automator e fondamentalmente esegue un file Applescript che a sua volta esegue uno script Bash incorporato nella cartella Risorse app.

Lo script postinstall:

#!/bin/bash

open -b "com.company.ApplicationName"

funziona su alcune macchine e non su altre. Sto ricevendo un errore

LSGetApplicationForInfo() failed with error -10814 while trying to determine the application with bundle identifier com.company.ApplicationName

Non sono stato in grado di determinare il perché. Suppongo che mi manchi una sorta di software prerequisito sulle macchine che non funzionano.

Chiunque è a conoscenza dei requisiti per utilizzare open -b "bundleid" ? Xcode, Xcode con Command Line Tools o qualcosa del genere? Gradirei qualsiasi intuizione.

    
posta TryTryAgain 21.08.2013 - 20:42
fonte

1 risposta

1

La mia ipotesi è che funzioni su sistemi in cui l'app è presente abbastanza a lungo da consentire la registrazione dell'app nel sistema, ma non riesce su sistemi in cui non è presente da molto tempo.

C'è una possibile soluzione qui:

Il comando (tutta una riga)

/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain system -domain user

The Caveat

Dopo aver eseguito questo comando, OS X potrebbe richiederti prima di consentire l'apertura di alcune applicazioni per la prima volta. NON suggerirei di mandarlo in esecuzione sul Mac di qualcun altro o è probabile che si arrabbi con te.

Invece, suggerirei di usare open -a /path/to/your/app invece di open -b {bundle-id}

    
risposta data 21.08.2013 - 21:30
fonte

Leggi altre domande sui tag