iOS 8-ne peut pas installer L'application D'entreprise

notre société dispose d'une application qui peut être téléchargée sur un site Web en utilisant Enterprise Distribution.

Enterprise Distribution Site

Dans iOS 8 Bêta 5, en appuyant sur le lien de téléchargement apporte attendus pop-up "(site web) que vous souhaitez installer (Nom de l'Application)". En appuyant sur 'install' sur cette boîte de dialogue, l'application est bloquée "en attente"..."

App stuck waiting

Jusqu'à ce qu'il finisse indique: "Impossible de Télécharger l'Application (nom de l'application) n'a pas pu être téléchargé à cette époque."

Unable to Download App

installation des travaux comme prévu en utilisant iOS 7.

lancer l'application de Xcode sous iOS 8 fonctionne.

comment soutenir Enterprise Distribution iOS 8?

peut-être qu'un changement doit être apporté au fichier du Manifeste? Quand j'ai essayé de construire l'application dans Xcode 6 Beta 7, le Processus d'archivage d'entreprise ne m'a pas incité à faire un dossier de manifeste...

62
demandé sur Dylan Hand 2014-09-09 01:20:24

15 réponses

en regardant à travers la console du whist téléphonique essayant d'installer une de mes applications, j'ai découvert:

Sep  9 12:16:56 iPhone misagent[94] <Error>: attempt to install invalid profile: 0xe8008011
Sep  9 12:16:56 iPhone installd[40] <Error>: 0x100484000 -[MIInstallableBundle _installEmbeddedProfileInBundle:]: Could not install embedded profile: 0xe8008011 (Expired)

raisons à mon insu, apple a invalidé la moitié de mes profils et n'a pas réussi à m'alerter. Après être entré developer.apple.com trouver des profils invalides:

Hit Edit - > Generate -> Download Reconstruire l'application avec le nouveau profil.

cependant - les mauvaises nouvelles encore à au moins une de mes applications ne s'installe pas. Regarder à travers la console ne me donne rien. Je suis convaincu que c'est un bug apple ont donc déposé un radar: 17622725

j'espère que votre problème est un problème de profil sinon nous pourrions avoir à attendre JUSQU'à ce soir 1800GMT pour voir si apple l'ont corrigé.

EDIT

avec iOS8 GM - je viens d'obtenir Waiting... - je vous tiendrai informé de l'état d'avancement du rapport de bogue.

EDIT

après dépannage, quelques corrections ont été trouvées:

Fix 1

à partir de iOS8, si les images auxquelles vous faites référence dans le manifeste plist n'existent pas - Apple n'installera pas l'application sur le téléphone - le manifeste étant le fichier vers lequel vous faites le lien sur la page de téléchargement: itms-services://?action=download-manifest&url={url}

assurez-vous que full-size-image et display-image existe:

<dict>
    <key>kind</key>
    <string>full-size-image</string>
    <key>needs-shine</key>
    <true/>
    <key>url</key>
    <string>https://{path_to_real_image}</string>
</dict>
<dict>
    <key>kind</key>
    <string>display-image</string>
    <key>needs-shine</key>
    <true/>
    <key>url</key>
    <string>https://{path_to_real_image}</string>
</dict>

solution 2

les applications D'entreprise ne s'installeront pas si elles existaient déjà sur iOS7 en raison d'un bug avec iOS8. Une erreur apparaît dans la console:

Ignore manifest download, already have bundleID: {bundle_id}

cela peut être corrigé en changeant temporairement le bundleID dans le fichier de manifestes, mais apple est au courant car ils ont marqué le rapport de bogue comme dupliqué. Après des tests internes, vous pouvez également résoudre le problème en repos de la disposition de l'écran d'accueil General -> Reset -> Reset Home Screen Layout

Fix 3

si vous voyez l'application entrer dans le installing... étape par opposition à loading... presque certainement le problème est le embedded provisioning profile a expiré, pour corriger le téléchargement, vous aurez besoin de Ré-archiver votre application avec un nouveau profil de provision mis à jour.

Fix 4

si vous voir l'application accéder à l'étape installing... et votre provisioning profile est valide - téléchargez l'application pendant qu'elle est attachée à votre console. (Xcode 6 > Window > Devices > Bottom Left Button [v]), vous trouverez probablement que l'installation a échoué avec Verification Stage Failed un peu plus bas sera le message d'erreur. Dans mon cas (Entitlements found that are not permitted by provisioning profile) - pour cette erreur goto developer.apple.com et mettez à jour votre identifiant D'application pour inclure le service correct. Pour moi, App Groups devait être activé. Puis régénérez votre provisioning profile

59
répondu William George 2014-10-24 17:20:44

j'ai eu le même problème aujourd'hui: je n'ai pas pu installer une de mes applications D'entreprise sur IOs8 (mais sur IOs7). Après de nombreuses heures de recherche, j'ai finalement lu ce message sur la console de l'appareil:

<Warning>: LoadExternalDownloadManifestOperation: Ignore manifest download, already have bundleID: com.ecaste.Crew-Desk

après une longue période de recherche, j'ai enfin lu ce post : http://support.hockeyapp.net/discussions/problems/26683-not-able-to-download-apps-ios8-beta-5-autoupdate-manually-etc

et à la fin je viens de changer le nom de la plist et le lien pour télécharger l'ipa (probablement le deuxième n'est pas nécessaire), et enfin l'application est installée.

enfin, il semble que c'était un problème de Cache dans IOs8 qui considère que l'application était déjà installée (et ce n'était pas le cas, je l'ai désinstallé auparavant).

Espérons que cette aide

7
répondu ecaste 2014-09-21 15:51:47

même erreur ici, j'ai essayé de changer bundle-id, bundle-version, plist... mais l'erreur reste.

je sais que c'est un peu compliqué, mais c'est la seule chose qui fonctionne pour moi:

http://support.hockeyapp.net/discussions/problems/30194-ios8-workaround-can-break-today-extension?full_site=1#comment_35141099

  1. connecter L'appareil à un Mac ou un PC
  2. créer une sauvegarde dans iTunes

  3. Install iExplorer: http://www.macroplant.com/iexplorer/

  4. Démarrer iExplorer, puis sélectionner le mode démo

  5. dans la barre latérale gauche, sélectionnez médias, puis ouvrez le dossier Téléchargements, et supprimer tous les fichiers dans elle

  6. redémarrer le dispositif

  7. ouvrez la page de téléchargement et installez la dernière version de votre application

en effet, j'Omets les deux premiers pas et cela fonctionne parfaitement:)

j'espère que cette aide

7
répondu Eva Madrazo 2014-12-22 13:12:41

fixer un objectif de déploiement plus bas dans

Projet > Construire Réglage > iOS Cible de Déploiement

Cibles > Paramètre de construction > iOS Cible de Déploiement

6
répondu Shrikant Tanwade 2015-07-03 12:16:32

je viens d'avoir ce problème en ce moment et il a été causé par le plist mainfest (touches: full-size-image + display-image) pointent vers des emplacements d'image url qui n'existent pas.

Il semble que l'iOS6/iOS7 sont en mesure de gérer si les images n'existent pas, mais iOS8 est plus restrictive à ce sujet.

3
répondu Steven Tsang 2014-09-19 14:33:08

basé sur les commentaires précédents sur le message" ignore manifest download", nous avons essayé de changer le bundle ID (ie com.nom de la société.AppName) dans le .plist pour avoir un nom unique, à force d'iOS 8 à télécharger/installer de toute façon. Une fois installé, il remplace correctement la copie existante.

je crois qu'il y a deux problèmes ici. Si l' .affiche sur le site https pointant vers le certificat d'entreprise signé .le fichier ipa a un identificateur de faisceau correspondant à un application qui est déjà installé, il ne va pas l'écraser. La version bundle est différente sur tous nos .donc il devrait l'installer de toute façon. iOS 7 ne semble pas avoir ce problème. Nous avons l'intention de résoudre ce problème en brouillant l'identifiant du paquet dans le plist afin qu'il soit toujours unique à la construction.

le deuxième problème est que quand il installe avec succès l'application, il ne passe pas à l'écran d'accueil ou indiquer qu'il fait quoi que ce soit. In iOS 7, après avoir sélectionné le bouton "Installer" à l'invite, passer à l'écran D'accueil où l'icône serait sombre, et un indicateur de progrès affichera la progression du téléchargement. La demande aurait alors un point bleu à côté indiquant qu'elle était nouvelle. Avec iOS 8, il ne passe pas à L'écran D'accueil donc il semble ne pas fonctionner. Vous pouvez aller manuellement sur l'écran d'accueil, et vous devriez voir un sombre icône avec un indicateur de progression (maintenant à un nouvel emplacement, car il ne sait pas qu'il sera remplaçant une application existante). Après qu'il télécharge/installe avec succès, il ne place pas le point bleu sur l'application remplacée.

Espérons que cette aide.

3
répondu Chaosaddict 2014-09-25 15:14:20

cela m'a causé une énorme douleur. J'avais besoin d'installer un nouvel App OTA sur juste les téléphones des employés à l'extérieur d'une solution MDM. J'ai essayé toutes les solutions possibles que j'ai pu trouver sur internet et rien n'a fonctionné. Le plus proche que j'ai pu obtenir était pour l'application d'obtenir à l'étape de "chargement". Ma solution a pris une semaine de travail, essayant différentes choses. Je ne sais pas qui a fonctionné dans quel ordre et qui aurait fonctionné de toute façon, Mais voici ce que j'ai fait:

dans mon cas, j'ai eu auparavant, construit cette application avec un profil de configuration à partir d'un développeur (par opposition à une Entreprise). Dans Xcode, j'ai changé L'identifiant du paquet pour lui donner un nouveau nom, par exemple, il était à l'origine com.mydomain.myapp et est devenu com.mydomain.mysuperapp.

veillait à ce que la signature du code dans l'application soit valide et incluait le certificat de distribution pour le compte D'entreprise

j'avais utilisé le mauvais profil d'approvisionnement (un sans identités associés) donc, parce que j'ai choisi "automatique", il construit bien, mais n'a jamais été installer. Ainsi, j'ai changé la signature de code pour la publication à mon profil de distribution (plutôt que le profil de développement)

S'est assuré que l'application était réglée avec une cible de déploiement suffisamment basse pour les appareils qui vont la télécharger""

Archivé le fichier et exporté pour le déploiement en Entreprise

Le Manifeste

doit contenir l'image PNG 57x57 et l'image png 512x512. sinon, l'installation ne passe pas le stade de "l'attente

j'ai créé un index.fichier html qui ressemblait à ceci:

<html>
    <body>
        <a href="itms-services://?action=download-manifest&url=https://dl.dropboxusercontent.com/s/dw80wahlwupkyd5/MyApp.plist">
            Install Learning Chunks App from Dropbox</a>
    </body>
</html>

j'avais utilisé un échantillon de plist que j'ai trouvé en ligne et il comprenait quelques paramètres optionnels. Quand j'ai laissé ça, le téléchargement n'a pas marché. J'ai pris ces. Mon fichier manifeste s'appelait MyApp.plist et ressemblait à ceci:

<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>items</key>
        <array>
            <dict>
                <key>assets</key>
                <array>
                    <dict>
                        <key>kind</key>
                        <string>software-package</string>
                        <key>url</key>
                        <string>https://dl.dropboxusercontent.com/s/r1bljbkcows7sje/mysuperapp.ipa</string>
                    </dict>
                    <dict>
                        <key>kind</key>
                        <string>display-image</string>
                        <key>needs-shine</key>
                        <true/>
                        <key>url</key>
              <string> https://dl.dropboxusercontent.com/s/ujk9ipcv2naltut/logo57.png</string>
                    </dict>
                    <dict>
                        <key>kind</key>
                        <string>full-size-image</string>
                        <key>needs-shine</key>
                        <true/>
                        <key>url</key>
                  <string>https://dl.dropboxusercontent.com/s/gpebomok83mp9d5/logo512.png</string>
                    </dict>
            </array>
            <key>metadata</key>
                <dict>
                    <key>bundle-identifier</key>
                    <string>com.mydomain.mysuperapp</string>
                    <key>bundle-version</key>
                    <string>1.0</string>
                    <key>kind</key>
                    <string>software</string>
                    <key>title</key>
                    <string>My Super App</string>
                    <key>subtitle</key>
                    <string>My Super App</string>
                </dict>
        </dict>
        </array>
    </dict>
</plist>

j'ai téléchargé le MyApp.plist, index.html, logo57.png, logo512.png et MyApp.ipa à DropBox. J'ai partagé l'index.html avec ceux qui ont besoin de télécharger l'application.

L'utilisateur peut alors cliquer sur le lien de partage dans l'e-mail et l'application d'installation.

2
répondu JanB 2015-06-20 23:04:36

EDIT: le problème ci-dessous est une diversion. Comme Dylan Hand mentionné ci-dessus, le problème pour moi était que j'avais cassé des liens d'image dans le fichier manifeste. Apparemment cela n'avait pas d'importance pour ios7 mais ios8 ne terminera pas l'installation si c'est vrai. Quand j'ai enlevé ces références, ça a fonctionné parfaitement.


j'ai le même ensemble de symptômes que l'OP (ie. Message "Impossible de télécharger app" mais seulement sur iOS 8). Quand j'essaie de valider (c.-À-D. Organisateur - > Validate), je reçois le message suivant.

Screenshot of the result of validation

cela m'a conduit à ce poste: https://stackoverflow.com/a/25757196/751136

il prétend que la ré-génération de vos profils de provisionnement devrait entraîner un nouveau droit appelé beta-reports-active . Quand j'essaie de le faire dans mon compte d'entreprise, les nouveaux profils N'ont PAS le nouveau droit. Cependant, quand je me régénère profils d'approvisionnement dans un autre compte non-entreprise, les nouveaux profils ont ce champ.

1
répondu eremzeit 2017-05-23 11:53:20

si vous construisez vos applications iOS avec un script de construction et que vous utilisiez précédemment PackageApplication avec l'option --sign, cela peut causer des problèmes. Le drapeau --sign ne fonctionne plus lorsqu'on construit sur 10.10 et qu'on le supprime, toutes nos Applications iOS s'installent de nouveau.

voir: https://devforums.apple.com/thread/251624?tstart=0

1
répondu James Moore 2014-10-22 22:14:07

ce numéro me rendait fou, Seulement cela a aidé pour la Distribution D'entreprise: Effectuer tous les paramètres de construction et cliquez sur "Archives". Effectuer le processus de Distribution D'entreprise. Vous serez montré Organisateur fenêtre. Sur Mac machine localisez le .xcacrchive en sélectionnant KRelease et en choisissant "Show in finder".

L'utilisateur est dirigé vers le dossier où le .le fichier xcarchive est localisé. Cliquez-droit sur le .XCARCHIVE et sélectionnez " Afficher le contenu du paquet" option.

dans la fenêtre ouverte finder aller à Produits / Applications Sélectionnez et copiez le .application fichier

créez un nouveau dossier quelque part sur votre disque avec le nom" Payload " Note: le nom du dossier est sensible à la casse. Copiez le .application fichier en "Charge utile" du dossier. Compresse le dossier de la charge utile pour obtenir la charge utile.fichier zip Renommer la charge utile.fichier zip .ipa et mettez-le avec votre .plist Fait !!! le. ipa fichier est prêt à être installé sur les périphériques enregistrés dans le profil de configuration utilisé dans le .génération xcarchive.

1
répondu thomas 2014-11-25 21:53:41

j'ai sovlé ce problème.

  1. comme Apple a changé les profils de provisionnement, veuillez renouveler les profils de provisionnement (fichier 1) et les copier dans la"charge utile/".
  2. assurez-vous qu'il y a des droits.plist (Fichier 2) dans la "charge utile/", et ce fichier plist doit être texte simple qui est créé par un éditeur de texte.
  3. assurez-vous qu'il y a une Info.plist (Fichier 3) dans "Charge utile/", et c'est créé par XCode;
  4. copier les droits.plist (Fiche 4) n'importe où d'autre, sauf la "Charge utile/".
  5. assurez-vous que" Bundle identifier " dans le fichier 1-4 doit être le même.
  6. utilisez ce droit.plist (Fiche 4) de Signer à nouveau le fichier IPA.

Vous pouvez démissionner comme ça

codesign -fs "iPhone Distribution: Your Company Name" --entitlements=/Users/SenTR/Downloads/codesign/Entitlements.plist /Users/SenTR/Downloads/codesign/Payload/Your_Project_name.app

Droits.échantillon de plaquette

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
    <dict>
        <key>application-identifier</key>
        <string>PREFIX.yourappBundleID</string>
        <key>aps-environment</key>
        <string>production</string>
        <key>get-task-allow</key>
        <false/>
        <key>keychain-access-groups</key>
        <array>
            <string>PREFIX.yourappBundleID</string>
        </array>
    </dict>
</plist>

si vous connaissez le Chinois, ceci sera utile.

http://hennry.com/2015/03/fail-to-resign-ipa-since-ios8 /

0
répondu Hennry 2015-04-03 01:49:36

ces réponses sont des choses valables à vérifier, mais dans le cas où quelqu'un d'autre les a essayées comme je l'ai fait et avait encore des problèmes, assurez-vous que votre application contient le bon réglage de plist qui permet à l'archive exportée d'être compressée correctement . ce est ce qui nous a mordu, même après avoir suivi toutes les étapes ci-dessus. De plus, la réponse qui parle de s'assurer que la liste du site web contient des liens d'image valides ne semble pas affecter quoi que ce soit, au moins pour nous utiliser Xcode 6.3 pour exporter des archives. Il a travaillé/ne fonctionne pas indépendamment de ces liens. C'est évidemment une bonne idée d'avoir cette info correcte. Une autre note intéressante est que si nous avons exporté en utilisant XCode 5, les ipa étaient toujours dans le bon format (voir l'article lié SO ci-dessus); il semble que XCode 6+ est maintenant difficile à ce sujet.

0
répondu stonedauwg 2017-05-23 12:00:17

mon problème a été corrigé en enlevant tout construit outut, puis reconstruire complètement.

0
répondu Mike 2015-06-03 20:15:56

une autre source possible de ce problème d'installation est l'inadéquation entre le projet et le profil d'approvisionnement (particulièrement probable avec des constructions automatisées ou d'Autres constructions en ligne de commande). Les identifiants du paquet sont sensibles à la casse. Par exemple, si l'identificateur du forfait app dans le profil d'approvisionnement est com.example.MyApp et la configuration du projet et/ou des informations.plist utilise com.Example.Myapp , Xcode 7.1 échouera avec une erreur de signature de code ou retombera sur un profil générique d'approvisionnement (un avec * bundle id, qui pourrait lui-même être un problème) mais la commande xcodebuild réussira. Jenkins va également télécharger le build signé par erreur sur Hockeyapp par exemple. La compilation se téléchargera vers les périphériques clients mais ne s'installera pas en raison de l'inadéquation de la casse.

donc,

Fix 0

vérifier que l'identifiant du paquet d'applications est configuré de la même manière dans le projet et sur Apple Developer portal.

la façon la plus simple d'éviter ce problème particulier est de toujours utiliser des caractères minuscules dans vos identificateurs de paquets. Copier l'id de paquet de Apple Developer portal et le coller dans les paramètres de construction du projet ( PRODUCT_BUNDLE_IDENTIFIER ) aide aussi bien sûr.

bien que j'ai eu le problème avec un compte d'entreprise, il pourrait en fait ne pas être spécifique à ce type de distribution.

Fix 0

assurez-vous de vérifier Note technique d'Apple intitulée Installation Failure dépannage for iOS .

0
répondu Leon Deriglazov 2015-10-28 21:34:48

mon problème était que j'avais un espace à la fois dans mon nom de fichier ipa, et la référence à cet ipa dans mon plist. Supprimer l'espace dans les deux permis l'installation

0
répondu jimmyjudas 2016-07-15 11:49:17