20 votes

Que fait réellement un fichier .app ?

Je suis tout nouveau sur Mac OS X (je viens de Windows), et j'essaie de comprendre les fichiers .app. Sous Windows, nous avions des exécutables (fichiers .exe). Si vous en ouvriez un, votre programme s'exécutait, et tous les autres fichiers dont il avait besoin étaient situés ailleurs. Sous Mac OS X, d'après ce que j'ai compris, ces "fichiers" .app sont plutôt des dossiers qui contiennent non seulement l'exécutable lui-même mais aussi d'autres fichiers dont l'application peut avoir besoin.

Ma question est la suivante : à quoi servent exactement ces fichiers .app ? Quelle est la différence avec le fait d'y pénétrer et d'exécuter le véritable exécutable ?

Récemment, j'ai essayé de faire fonctionner une application sous OS X. J'ai finalement réussi à la faire fonctionner (il semble que JAVA_HOME ait dû être défini). Cependant, elle ne fonctionne que lorsque je fore dans le dossier .app et que j'exécute le shell script qui démarre l'application. Si je double-clique sur le fichier/dossier .app, l'application rebondit dans le dock pendant un moment, puis s'arrête, et rien ne se passe (à part les ventilateurs qui tournent comme des fous). Il est donc clair que le système d'exploitation fait quelque chose de différent lorsqu'il essaie de lancer l'application à partir du fichier .app ou directement à partir de l'exécutable qu'il contient.

J'aimerais comprendre ce que fait exactement l'application .app qui fait que cette application ne fonctionne pas, afin de pouvoir travailler à la résolution du problème. Pour information, l'application est SQL Developer d'Oracle.

2 votes

.app est juste une extension et n'est pas obligatoire sous OSX pour qu'un dossier se comporte comme une application. Avez-vous fait un clic droit sur le fichier en question et révélé son contenu ? Cela pourrait vous aider à comprendre la disposition et à affiner l'erreur que vous rencontrez.

2 votes

L'extension .app transforme un répertoire ordinaire en "paquet d'applications", qui comprend l'exécutable de l'application et les ressources connexes (icônes, graphiques, fichiers de propriétés, localisations, etc. fr.m.wikipedia.org/wiki/Application_bundle ou la documentation des développeurs Apple.

18voto

evilcandybag Points 101

Les "apps" sont des "Package Bundles" dans le jargon d'Apple, et sont traités de manière particulière par le système d'exploitation. Comme mentionné ci-dessus, il s'agit en fait de répertoires Unix, dans un format spécial. Le véritable fichier exécutable Unix se trouve dans un sous-répertoire nommé MacOS, que vous pouvez voir en utilisant le menu "Show Package Contents" du Finder.

L'"app" est analogue au répertoire créé lorsque vous installez un programme Windows. Vous pouvez en effet naviguer dans l'app, et exécuter le fichier exécutable Unix.

Pour plus de détails, voir le site Apple Guide de programmation de l'offre groupée Il se trouve dans la section des archives mais la nouvelle documentation d'Apple ne donne pas la vue d'ensemble

Cela ne résout pas votre problème, mais sans en savoir plus sur l'application, il ne sera pas résolu en manipulant le paquet. Vous devrez contacter le développeur.

Vous pouvez également consulter l'application Console, qui vous permettra d'examiner tous les messages d'erreur ou d'avertissement.

1 votes

Merci pour l'information. Il s'avère que l'application dépendait d'une variable d'environnement qui était définie dans l'interpréteur de commandes mais pas globalement (pour être utilisée par les applications GUI lancées depuis le Finder ou Spotlight, par exemple). C'est pourquoi je voyais un comportement différent lorsque je l'exécutais à partir du shell ou de l'icône dans le dock. J'ai depuis résolu le problème en définissant cette variable de manière globale.

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