0 votes

Conditions d'utilisation de 'open -b "bundle.id" ' pour OS X

J'ai un script post-installation qui ouvre et exécute mon application silencieusement. L'application a été créée à l'aide d'Automator et exécute un Applescript qui, à son tour, exécute un script Bash intégré dans le dossier Resources de l'application.

Le script de post-installation script :

#!/bin/bash

open -b "com.company.ApplicationName"

fonctionne sur certaines machines et pas sur d'autres. Je reçois une erreur

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

Je n'ai pas pu en déterminer la raison. Je suppose qu'il me manque une sorte de logiciel prérequis sur les machines défaillantes.

Quelqu'un connaît-il les conditions d'utilisation des open -b "bundleid" ? Xcode, Xcode avec les outils de ligne de commande ou quelque chose comme ça ? J'apprécierais tout commentaire.

2voto

moodforaday Points 2633

Je pense qu'il fonctionne sur les systèmes où l'application est présente depuis suffisamment longtemps pour être enregistrée dans le système, mais qu'il échoue sur les systèmes où l'application n'est pas présente depuis très longtemps.

Il existe une solution possible :

La commande (sur une seule ligne)

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

La mise en garde

Après l'exécution de cette commande, OS X peut vous inviter à ouvrir certaines applications pour la première fois. Je ne suggère PAS d'exécuter cette commande sur le Mac de quelqu'un d'autre, car cette personne risque de s'irriter contre vous.

Je suggérerais plutôt d'utiliser open -a /path/to/your/app au lieu de open -b {bundle-id}

1voto

Patrick S Points 11

Pour désenregistrer une application spécifique (celle qui crée des troubles, disons /Applications/AppName.app ) de la base de données LaunchServices, exécutez :

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

Relancez ensuite l'application dans le Finder pour l'enregistrer à nouveau.

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