¿Cómo manejar los identificadores de paquetes con espacios?

0

Supongamos que mi directorio actual es /Applications y contiene todas mis aplicaciones. Digamos que quiero saber el identificador del paquete para Google Chrome :

$ mdls -raw -name kMDItemCFBundleIdentifier 'Google Chrome.app'
com.google.Chrome

Ahora utilicemos eso para ubicar la aplicación :

$ mdfind kMDItemCFBundleIdentifier = com.google.Chrome
/Applications/Google Chrome.app

Ahora intentemos lo mismo para Tor Browser Bundle . Primero, obtenga el identificador del paquete:

$ mdls -raw -name kMDItemCFBundleIdentifier TorBrowser.app
org.mozilla.tor browser

Luego, ubica la aplicación:

$ mdfind kMDItemCFBundleIdentifier = org.mozilla.tor browser

Nada. Probablemente necesito citarlo:

$ mdfind kMDItemCFBundleIdentifier = 'org.mozilla.tor browser'

No, todavía nada. Vamos a intentar otra cosa:

$ mdfind kMDItemCFBundleIdentifier = 'org.mozilla.tor'
$ mdfind kMDItemCFBundleIdentifier = "org.mozilla.tor browser"
$ mdfind kMDItemCFBundleIdentifier = org.mozilla.tor\ browser
$ mdfind kMDItemCFBundleIdentifier = "org.mozilla.tor\ browser"
$ mdfind kMDItemCFBundleIdentifier = 'org.mozilla.tor%20browser'
$ mdfind kMDItemCFBundleIdentifier = 'org.mozilla.tor+browser'
$ mdfind kMDItemCFBundleIdentifier = 'org.mozilla.tor_browser'

Nada funciona. Esta es la única aplicación con la que he tenido este problema, y la única que he visto con un espacio en su identificador de paquete. ¿Cómo podemos referenciarlo?

    
pregunta user137369 04.09.2015 - 19:18

1 respuesta

1

Un identificador de paquete adecuado no debería tener un espacio en él. De acuerdo con Guía de distribución de aplicaciones - > Acerca de los ID de paquete , a

  

"... la cadena de ID del paquete debe ser una identificador de tipo uniforme (UTI) que contiene   solo caracteres alfanuméricos (A-Z, a-z, 0-9), guión (-) y punto   (.). La cadena debe estar en formato DNS inverso. Por ejemplo, si su   el dominio de la organización es Acme.com y crea una aplicación llamada Hello ,   puede asignar la cadena com.Acme.Hello como la ID del paquete de su aplicación.

Así que, técnicamente, org.mozilla.tor browser no es un identificador de paquete válido, por lo que obtendrá resultados inesperados cuando intente trabajar con él. Probablemente debería ser cambiado (por el desarrollador) a algo como org.mozilla.tor.browser o org.mozilla.tor-browser , etc.

    
respondido por el NSGod 15.05.2016 - 18:45

Lea otras preguntas en las etiquetas