10 votes

Pourquoi les applications App Store transférées dans ~/Applications sur une autre machine ne se lancent-elles pas ?

J'ai acheté quelques applications sur le Mac App store et les ai installées sur mon ordinateur personnel. Je voudrais les installer sur un ordinateur de travail partagé. Malheureusement, je n'ai pas d'accès administrateur à l'ordinateur professionnel et je ne peux donc pas le faire de la manière habituelle.

J'ai copié les applications de mon ordinateur personnel sur l'ordinateur de l'entreprise. ~/Applications de l'ordinateur de travail, et tenté de les exécuter, avec un succès mitigé :

  • Certaines applications, lorsque vous les exécutez pour la première fois, ouvrent une boîte de dialogue indiquant "Se connecter pour utiliser cette application sur cet ordinateur" et vous invitent à saisir votre identifiant et votre mot de passe Apple, après quoi elles fonctionnent parfaitement. (Exemple : DayOne, et la plupart des applications gratuites)
  • La plupart des applications afficheront toujours cette boîte de dialogue, mais pour une raison ou une autre, elles ne fonctionneront pas, même après avoir saisi votre identifiant et votre mot de passe. (Exemple : BBEdit, Soulver, Twitterrific)

La ou les questions :

  • Y a-t-il quelque chose que je puisse faire pour que l'application fonctionne ?
  • Si ce n'est pas le cas, quelle est la raison pour laquelle l'application refuse de se lancer ?

Modifier : Lorsque l'application échoue, elle donne un message console "Exited with exit code : 173". Si je comprends bien, cela signifie que l'application n'est pas valide (ce qui est normal lorsque je la copie d'un ordinateur à un autre). Cependant, le processus par lequel l'App Store valide l'application semble ne pas fonctionner lorsque l'application ne se trouve pas au bon endroit. En outre, il semble probable que les applications qui fonctionnent, comme DayOne ou les applications gratuites, ne fonctionnent que parce qu'elles ne vérifient pas que l'application a été valablement achetée et qu'elles fonctionneraient en fait sur n'importe quel ordinateur sans aucune forme de validation.

La question demeure : existe-t-il une solution de contournement ?

Modifiez à nouveau : Je n'ai aucun problème à copier une application dans ~/Applications sur mon ordinateur personnel, même pour un utilisateur différent. Parce que l'investigation (sans parler de la résolution) de ce problème demande tant de tracas (y compris deux ordinateurs ou au moins une machine virtuelle), je propose une prime.

12voto

Ryan Spears Points 1524

Vous avez trouvé un bug intéressant (lire : très ennuyeux) dans le processus de validation de l'App Store, semble-t-il :

Pour commencer, l'emplacement vers lequel vous copiez vos applications n'entre pas en ligne de compte, pas plus que votre statut d'utilisateur administrateur/non administrateur. Malgré le fait que Apple affirme que cela devrait être possible Sur mes deux machines, je ne parviens pas à faire en sorte qu'une application copiée manuellement s'exécute en tant qu'utilisateur standard, en tant qu'utilisateur administrateur, en tant qu'administrateur de l'application ou en tant qu'utilisateur de l'application. /Applications ou dans ~/Applications . Ni l'un ni l'autre chown et chmod en mettant le paquet en conformité avec l'aide des installations régulières. La feuille de connexion à l'App Store apparaît (une fois), mais l'application continue de se fermer avec le code de sortie 173 après cela.

Selon La documentation des développeurs d'Apple pour la validation des reçus de l'App Store Dans le cas d'une application, une partie du reçu validant l'utilisation d'une application est un GUID spécifique à la machine. Lorsque vous copiez une application sur une autre machine, le GUID ne correspond plus, ce qui invalide le reçu (à l'inverse, sur votre propre machine, il correspond toujours, quel que soit l'utilisateur pour lequel vous installez l'application - vous n'avez donc aucun problème avec cela). Les applications sont censées signaler l'invalidité d'un reçu en sortant avec le code de sortie 173, et la fonction de l'App Store storeagent est censé prendre le relais après cela, en demandant des informations d'identification et en générant un nouveau reçu, puis en relançant l'application en cas de succès :

Si le système réussit à obtenir un reçu valide, il relance l'application. Sinon, il affiche un message d'erreur à l'utilisateur, expliquant le problème.

N'affichez pas de message d'erreur à l'utilisateur si la validation échoue. Le système est chargé d'essayer d'obtenir un reçu valide ou d'informer l'utilisateur que le reçu n'est pas valide.

Ce qui se passe dans votre (et mon test) cas est que la validation échoue discrètement - comme l'indique le fait que le reçu n'est jamais mis à jour, mais aucun message d'erreur n'est affiché non plus. Les journaux indiquent storeagent retours :

promptResponse: <CKSignInPromptResponse:0x1080c4fb0 returnCode:1>

Ce code n'est pas documenté par Apple, et tout ce que j'ai trouvé, ce sont des discussions par des développeurs sur ce problème dans un contexte de test, où il semble être lié à des données iTunes Connect incomplètes (Geoff Pado a un résumé concis ici ).

Quoi qu'il en soit, le tableau dans son ensemble montre clairement que la validation est en train d'échouer. en route Les applications copiées manuellement se voient attribuer un reçu non valide, même après avoir saisi les informations d'identification correctes sur l'App Store. Seules les applications qui ne vérifient pas leur propre validité continuent à fonctionner, comme vous l'avez noté.

Pas très utile dans votre cas, Apple ne recommande que la suppression et le retéléchargement depuis l'App Store. pour remédier à ce problème.

TL;DR : Vous ne pouvez pas copier manuellement les applications achetées sur l'App Store d'un ordinateur à l'autre tant qu'Apple n'a pas corrigé le processus de validation des reçus nécessaire à cette opération. L'emplacement de l'installation et les privilèges de l'utilisateur n'entrent pas en ligne de compte.

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