J'ai une application d'entreprise que je distribue via une itms
URL:
itms-services://?action=download-manifest&url=itms-services://?action=download-manifest&url=https://$MY_PLIST_URL.plist
Sur iOS 7, les téléchargements et les mises à jour fonctionnent correctement. Sur iOS 8, cependant, j'obtiens l'erreur:
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 sur iOS 8, j'utilise la version 0.2.1
ios
xcode
ios8
enterprise-distribution
Patrick Perini
la source
la source
Réponses:
J'ai également rencontré ce problème avec notre distribution d'applications. Nous avons pu résoudre ce problème en `` simulant '' l'identifiant du bundle dans le .plist en utilisant pour la distribution de téléchargement, en conservant l'identifiant de notre bundle ipa.
Par exemple, dans votre plist:
remplacez com.mycom.MyApp par 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 lors de l'installation. Après l'installation, cette icône disparaît, mais votre version déjà 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 en place.
Il semble qu'iOS 8 met en cache les identificateurs de bundle et compare les installations demandées avec celles mises en cache. La plupart du temps, vous ne verrez qu'une fenêtre contextuelle 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 iOS 8. Les appareils qui n'ont jamais installé votre application auparavant n'auront aucun problème pour installer l'application.
la source
Cela a mieux fonctionné pour moi, pas besoin de toucher votre manifeste ou autre tromperie (parfait pour Xcode Server où le
plist
est généré automatiquement):Cela réinitialise les caches de l'appareil, vous pouvez maintenant installer votre application comme d'habitude.
la source
J'ai le même problème. Je l'ai reproduit par:
1) Avoir mon application installée lors de la mise à niveau d'iOS 7 vers iOS 8 GM
2) Le supprimer dans iOS 8
3) Essayer de l'installer via itms-services: avec le même nom de bundle
Quand j'ai essayé de changer l'identifiant du bundle dans le serveur plist (pas dans les applications Info.plist), cela a fonctionné (l'application a été téléchargée et aucune icône "shadow" n'est restée). Mais cela ressemble à un bug de la pomme.
la source
La solution acceptée ne fonctionne plus sur iOS9.
Je crois comprendre qu'Apple a fermé une grave faille de sécurité iOS en empêchant les binaires adhoc de remplacer les applications stockées ou les applications téléchargées depuis l'App Store. Consultez cet article pour le contexte (CVE-2015-3722 / 3725 et CVE-2015-3725):
https://www.fireeye.com/blog/threat-research/2015/06/three_new_masqueatt.html
Compte tenu des implications de sécurité, je ne m'attendrais pas à ce que ce comportement change dans les futures versions d'IOS. Les options alternatives semblent être:
la source
Ce que Gil a dit semble être correct, mais plus précisément, j'ai trouvé que je devais également incrémenter la chaîne de version du bundle dans le server.plist:
Cela vous permet au moins d'effectuer une installation OTA.
(Désolé ... J'aurais ajouté des commentaires, mais je suis trop un n00b.)
la source
Jetez un œil sur cette réponse et cette réponse .
Vous pouvez résoudre ce problème sans aucun piratage, pour iOS8, vous devez inclure dans la
assets
clé du.plist
fichier manifeste ledisplay-image
etfull-size-image
clés . Ils étaient disponibles dans Xcode 5 lors de l'enregistrement d'une archive pour le déploiement en entreprise et add-hoc, mais n'étaient pas obligatoires.J'ai créé un gist sur github avec le modèle du fichier install-manifet.plist .
la source
C'est un bogue trouvé pour la première fois dans iOS8 Beta5. Et cela n'a toujours pas été corrigé par Apple dans les semences GM et la version officielle iOS8.0. Plus de discussions peuvent être trouvées ici
La solution de contournement actuelle étant testée par moi-même:
la source
Problème résolu en changeant l'identifiant du bundle dans plist.
Normalement, après avoir appuyé sur le lien itms, il affichera le bureau qui montre l'installation de l'icône. Cependant, pour mon appareil iOS 8.0, après avoir appuyé sur le lien itms, il ne passera pas à la page d'installation mais l'installation fonctionne déjà derrière.
la source
C'est extrême, mais si vous ne pouvez pas modifier l'identifiant de votre bundle, ce que je ne pouvais pas, la restauration de votre iPhone via iTunes vers le dernier iOS 8 et la restauration à partir d'une sauvegarde résout le problème.
la source
Le même problème existe sur iOS 10 beta 1.
Une chose que je ne comprends pas ici est que la date est le 31 décembre dans le journal de l'appareil XCode, cependant, l'appareil a la date et l'heure correctes configurées.
Mise à jour: Les gars de HockeyApp ont informé Apple de ce problème lors de la WWDC et le correctif devrait venir dans la prochaine graine.
la source
Si vous créez vos applications iOS avec un script de génération et que vous utilisiez précédemment PackageApplication avec l'indicateur --sign, cela peut poser des problèmes. L'indicateur --sign ne fonctionne plus lors de la construction de 10.10 et de sa suppression, toutes nos applications iOS sont à nouveau installées.
voir: https://devforums.apple.com/thread/251624?tstart=0
la source
Assurez-vous d'avoir un accès Internet complet.
J'étais confronté au même problème avec l'installation OTA et IOS8. Parce que je suis derrière un proxy d'entreprise, les solutions ci-dessus n'ont pas fonctionné jusqu'à ce que j'ai défini les paramètres de proxy manuels (non nécessaires dans IOS7) pour résoudre ce problème.
la source
Je viens de rencontrer ce problème sur un appareil exécutant 8.1, la mise à niveau de l'appareil vers la 8.3 a résolu le problème. Donc, soit le bogue n'est plus présent dans la version 8.3 ... soit l'acte de mise à niveau a effacé les données en cache de toute façon.
la source