2017-05-03 5 views
0

Nous avons une application d'entreprise. Les nouveaux utilisateurs obtiennent ceci dans leur console:Impossible de télécharger l'application pour les nouveaux utilisateurs, les utilisateurs existants peuvent réinstaller

May 3 10:16:48 Super-iPhone installd(MobileSystemServices)[3184] <Notice>: 0x16e037000 +[MICodeSigningVerifier _validateSignatureAndCopyInfoForURL:withOptions:error:]: 147: Failed to verify code signature of /private/var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.T5yQJd/extracted/Payload/myapp.app : 0xe8008015 (A valid provisioning profile for this executable was not found.) May 3 10:16:48 Super-iPhone installd(MobileSystemServices)[3184] <Notice>: 0x16e037000 -[MIInstaller performInstallationWithError:]: Verification stage failed

, mais les utilisateurs qui ont déjà les applications peuvent continuer à installer l'application (le réinstaller). Confirmé ré-installer en exécutant l'application, naviguer vers un écran différent, puis passer au navigateur pour réinstaller. Après la réinstallation (en regardant l'indicateur de progression sur l'écran d'accueil), la réouverture de l'application démarre à l'entrée.

Si ce certificat est le provisionnement & lié comme je le soupçonne, pourquoi les utilisateurs peuvent déjà la télécharger de nouveau?

Répondre

0

Il est probable que le profil d'approvisionnement intégré dans le .ipa est manquant, invalide, corrompu ou a expiré. Décompressez le fichier .ipa d'entreprise et ouvrez le fichier Payload/myapp.app/embedded.mobileprovision (il sera binaire mais contiendra un morceau de texte en texte brut que la plupart des éditeurs de texte vous laisseront voir). Vérifiez que l'identifiant de l'application correspond à l'identifiant de l'ensemble de l'application et que les autres champs, y compris le champ ExpirationDate, sont valides.

La raison pour laquelle l'application installe sur les travail existants est que l'ancien, le profil de provisionnement valide est probablement encore en place de la .ipa précédente. Cela suffira pour qu'une nouvelle version de l'application (spécifiquement basée sur l'ID de l'ensemble d'applications) soit installée et exécutée. Pour vérifier cela, vous pouvez toujours utiliser Apple Configurator 2 et sélectionner les périphériques pour voir les profils installés. Sur un appareil en cours de fonctionnement, vous pouvez supprimer le profil d'approvisionnement et réessayer l'installation, et je suppose que cela échouerait.

+0

L'expiratio du profil d'approvisionnement à partir du téléchargement .ipa n'est pas jusqu'en décembre 2017 – quantumpotato

+0

L'identificateur de l'application semble correct et correspond au préfixe (le préfixe étant alphanumérique pour tavant * de la société.comp.app) – quantumpotato

+0

L'emplacement à rechercher sera de vérifier la signature et les certificats utilisés. Est-il possible que ceux-ci aient été modifiés ou révoqués depuis la dernière génération ou le profil d'approvisionnement? Les commandes utiles pour vous aider à aller chercher incluent "security cms -D -i embedded.mobileprovision" pour analyser proprement le profil et "codesign -dvvv myapp.app" (à partir du répertoire Unloads Payload) pour valider les signatures de code et montrer la confiance relation. – TendrilSix