45 votes

Une application interne disparaît après l'installation

Je suis en train de créer une application iPhone pour un client qui sera distribuée en interne. Mon client vient de créer son compte développeur d'entreprise chez Apple.

J'ai créé un site web pour que le client puisse télécharger des versions de test de l'application sans fil, grâce aux instructions données par Apple ici : Distribuer des applications d'entreprise pour les appareils iOS 4 . Ces tests ont été effectués par le biais de mon compte Standard en utilisant un profil Adhoc qui contient les UDID de leurs appareils.

J'essaie maintenant de déployer l'application en utilisant leur compte Enterprises. J'ai créé le fichier de provisionnement interne. J'ai également créé une archive de l'application et créé le fichier .ipa pour la distribution en utilisant ce profil.

Le problème que je rencontre se produit lorsque j'essaie de télécharger l'application. Lorsque je me rends sur le site que j'ai créé pour télécharger l'application, je peux voir l'application se télécharger sur mon iPhone, le texte sous l'icône indique : "Loading...". Puis le texte change pour "Installer...". Une fois la barre de progression terminée, l'application disparaît. J'ai également remarqué que les fichiers de provisionnement internes étaient installés sur mon appareil.

J'ai répété le processus plusieurs fois sur plusieurs appareils, aussi bien ceux que j'ai utilisés pour tester cette application que ceux sur lesquels je n'ai même pas utilisé cette application. J'ai même essayé de supprimer tous les fichiers de provisionnement sur un appareil. Le même processus se produit et le fichier de provisionnement interne est automatiquement réinstallé.

Qu'est-ce qui ne va pas ou que je ne fais pas, exactement ?

Merci.

63voto

Aliaksei Points 826

J'ai rencontré le même problème avec une de mes applications internes. La raison en était que l'ID du bundle dans le manifeste de l'application était mal spécifié. Après avoir corrigé l'ID du bundle, l'application s'installe normalement.

0 votes

Je vais essayer, car je viens de remarquer que j'ai aussi une légère faute de frappe. Je vous ferai part de mes résultats.

1 votes

C'était le problème pour moi. J'avais un bundleID différent sur le fichier manifest que celui que j'ai utilisé pour le fichier ipa. Merci !

2 votes

Je dois juste dire que le fait de pouvoir obtenir une réponse comme celle-ci ici est ce qui rend Stackoverflow complètement génial ! L'alternative aurait été de me casser la tête pendant des heures ! Merci !

10voto

Akshat Points 1004

Le problème pour moi était que mon fichier plist de téléchargement avait un bundleID différent du bundleID de mon agent. La correction du fichier plist de téléchargement a fonctionné pour.

Un redémarrage alternatif a également fonctionné, mais c'était une grande douleur à chaque fois.

0 votes

Cela m'est arrivé aussi ! La seule différence dans mon cas était une lettre ! Elle était en majuscule !

0 votes

Que voulez-vous dire par télécharger le fichier plist ?

0 votes

Vous pouvez définir le bundleID à $(PRODUCT_BUNDLE_IDENTIFIER) dans le plist afin qu'il pointe vers General->Bundle Identifier, à l'avenir vous pouvez juste changer le bundleID à un endroit.

4voto

Siva Points 61

J'ai utilisé le bundle ID - com.myname.{appId} dans le fichier app info.list. Mais dans mon fichier manifeste OTA, j'ai utilisé com.myname.*. à cause de ce problème, mon installation échoue. J'ai changé les deux endroits com.myname.APPName et ça marche comme sur des roulettes.

0 votes

Comment changer le fichier manifeste de l'OTA. Toute aide serait appréciée.

3voto

daboja Points 3

**

J'ai eu exactement le même problème et je l'ai résolu en suivant les étapes ci-dessous.

**

Description du problème Pour clarifier, le problème (l'application ne s'installe pas correctement - l'icône disparaît après l'installation) ne se produisait que sur l'appareil iOS (la version Android de la même application fonctionnait bien).

Source du problème Dans mon cas, le problème était dû au fait que l'iPad de test que j'utilisais n'était pas enregistré (ajouté) au profil de provisionnement du développeur que mon application utilisait.

Leçon apprise Cela signifie que l'application iOS Developer ne peut pas être installée sur un appareil de test donné tant que cet appareil n'est pas ajouté au profil d'approvisionnement (PP). Une autre information importante est qu'une fois que le dispositif est ajouté au PP, un nouveau PP doit être généré et l'application doit être signée en utilisant ce nouveau PP pour compléter la poignée de main.

Mesures à prendre

  1. Connectez-vous à Apple Developer https://developer.apple.com
  2. Allez dans 'Certificats, Identificateurs et Profils' -> 'Appareils'.
  3. Après avoir vérifié que votre appareil n'est pas dans la liste, cliquez sur '+'. enter image description here
  4. Remplissez les champs 'Nom' et 'UDID' de votre appareil de test et cliquez sur 'Continuer'. enter image description here
  5. Une fois le dispositif ajouté à la liste, générez un nouveau PP en naviguant vers 'Provisioning Profiles' -> 'Development' -> Cliquez sur votre PP existant -> 'Edit' -> vérifiez votre dispositif nouvellement ajouté dans la section 'Devices' -> cliquez 'Generate' -> 'Download' -> 'Done'. enter image description here
  6. Utilisez le PP que vous venez de télécharger pour signer la nouvelle application de développement.
  7. Installer la nouvelle application sur le dispositif de test
  8. Célébrer le succès

1voto

hotpaw2 Points 40796

La version du système d'exploitation de l'appareil est-elle inférieure au niveau du système d'exploitation de la cible de déploiement de l'application ?

Si c'est le cas, réduisez la cible de déploiement de l'application dans les paramètres de construction ad hoc de la cible, ou mettez à niveau le système d'exploitation de l'appareil.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X