110 votes

Distribution des mises à jour des applications d'entreprise sous iOS 8

J'ai une application d'entreprise que je distribue par l'intermédiaire d'un système de gestion de l'information. itms URL :

itms-services://?action=download-manifest&url=itms-services://?action=download-manifest&url=https://$MY_PLIST_URL.plist

Sous iOS 7, les téléchargements et les mises à jour fonctionnent bien. Sous iOS 8, cependant, je reçois l'erreur suivante :

LoadExternalDownloadManifestOperation: Ignore manifest download, already have bundleID: com.mycom.MyApp

Dans mon plist, j'ai

<key>bundle-identifier</key>
<string>com.mycom.MyApp</string>
<key>bundle-version</key>
<string>0.2.2</string>

et sur mon application sous iOS 8, j'utilise la version 0.2.1

90voto

Twan Points 265

J'ai également rencontré ce problème avec notre distribution d'applications. Nous avons pu résoudre ce problème en "truquant" l'identifiant du paquet dans le fichier .plist utilisé pour la distribution par téléchargement, en conservant le même identifiant pour le paquet ipa.

Par exemple, dans votre plist :

<key>bundle-identifier</key>
<string>com.mycom.MyApp</string>
<key>bundle-version</key>
<string>0.2.2</string>

changement com.mycom.MyApp a com.mycom.MyApp.ios8fix

L'application sera installée à l'aide d'une nouvelle icône d'application, qui disparaîtra après l'installation.

Si vous avez déjà installé l'application, vous verrez même une nouvelle icône d'application pendant l'installation. Après l'installation, cette icône disparaît, mais votre version existante de l'application sera mise à jour. Avec une installation propre, l'icône d'installation disparaîtra et l'icône de l'application installée apparaîtra à la place.

Il semble qu'iOS 8 mette en cache les identifiants des paquets et compare les installations demandées avec celles mises en cache. La plupart du temps, vous verrez seulement une fenêtre popup demandant l'installation, mais rien ne se passe.

Comme Sean l'a déjà remarqué, cela apparaît avec xCode 6 GM et la version officielle d'iOS 8. Les appareils qui n'ont jamais installé votre application auparavant n'auront aucun problème pour installer l'application.

16voto

Gil Hartman Points 139

J'ai le même problème. Je l'ai reproduit en :

1) L'installation de mon application lors de la mise à niveau d'iOS 7 vers iOS 8 GM

2) Suppression dans iOS 8

3) Essayer de l'installer via itms-services : avec le même nom de bundle

Lorsque j'ai essayé de changer le bundle-identifier dans le plist du serveur (pas dans le Info.plist des applications), cela a fonctionné (l'application a été téléchargée et il n'y a plus d'icône "shadow"). Mais cela ressemble à un bug de la pomme.

9voto

Cfold Points 61

Ce que Gil a dit semble correct, mais plus précisément, j'ai constaté que je devais également incrémenter la chaîne bundle-version dans le server.plist :

    <key>bundle-version</key>
    <string>3.2.2</string>

Cela vous permet au moins d'accomplir une installation OTA.

(Désolé... J'aurais ajouté aux commentaires, mais je suis trop n00b.)

9voto

alexcristea Points 557

Jetez un coup d'œil sur cette réponse y cette réponse .

Vous pouvez résoudre ce problème sans bidouillage, pour iOS8 vous devez inclure dans le fichier assets clé du manifeste .plist le fichier display-image y full-size-image les clés. Elles étaient disponibles dans Xcode 5 lors de l'enregistrement d'une archive pour le déploiement d'entreprise et add-hoc, mais n'étaient pas nécessaires.

J'ai créé un gist sur github avec le modèle pour la install-manifet.plist fichier.

3voto

Sean Points 3950

Il s'agit d'un bogue découvert pour la première fois dans iOS8 Beta5. Et il n'a toujours pas été corrigé par Apple dans la version GM seed et la version officielle d'iOS8.0. Plus de discussions peuvent être trouvées aquí

La solution de contournement actuelle est testée par moi-même :

  • Si vous ne vous souciez pas du contenu de votre appareil : faites une restauration propre en mode DFU de l'appareil.
  • Si vous voulez récupérer vos affaires
    1. Sauvegarder votre appareil iOS dans iTunes avant de le restaurer (sans application Ad-Hoc/entreprise)
    2. Après avoir restauré votre appareil proprement, installez votre application Ad-Hoc/entreprise.
    3. Restaurer votre sauvegarde à partir d'iTunes
    4. Vous êtes maintenant libre de supprimer ces applications Ad-Hoc/entreprise et de les réinstaller.

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