0 votos

Requisitos para utilizar 'open -b "bundle.id" ' para OS X

Tengo un post install script que abre y ejecuta mi aplicación de forma silenciosa. La aplicación fue hecha usando Automator y básicamente ejecuta un Applescript que a su vez ejecuta un script de Bash incrustado desde la carpeta de Recursos de la aplicación.

El postinstall script:

#!/bin/bash

open -b "com.company.ApplicationName"

funciona en algunas máquinas y en otras no. Recibo un error

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

No he podido determinar el motivo. Supongo que me falta algún tipo de software de prerrequisito en las máquinas que fallan.

Cualquiera que conozca los requisitos para utilizar open -b "bundleid" ? ¿Xcode, Xcode con herramientas de línea de comandos o algo así? Agradecería cualquier idea.

1voto

moodforaday Puntos 2633

Mi opinión es que funciona en los sistemas en los que la aplicación ha estado presente el tiempo suficiente para que la aplicación se registre en el sistema, pero falla en los sistemas en los que no ha estado presente mucho tiempo.

Aquí hay una posible solución:

El comando (toda una línea)

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

La advertencia

Después de ejecutar este comando, es posible que OS X le pregunte antes de permitirle abrir algunas aplicaciones por primera vez. NO sugeriría ejecutar esto en el Mac de otra persona o es probable que se irrite con usted.

En su lugar, sugeriría utilizar open -a /path/to/your/app en lugar de open -b {bundle-id}

0voto

Patrick S Puntos 11

Para anular el registro de una aplicación específica (la que hace los problemas, digamos /Applications/AppName.app ) de la base de datos de LaunchServices, ejecute:

/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -u /Applications/AppName.app/

A continuación, vuelva a lanzar la aplicación en Finder para registrarla de nuevo.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X