2009-11-11 12 views
16

Je développe une application iPhone.l'installation de l'application adhoc a échoué dans l'iPhone, pourquoi?

Comme l'application est sensible à l'emplacement, je le teste sur un autre (où je ne suis pas présent). Pour cela, j'envoie à mon ami un profil .mobileprovision et l'application adhoc build. Mais à la fin, l'installation de l'application s'arrête entre les deux.

Dans le dispositif LOGGUE me donne le journal suivant:

2:42:30 unknown mobile_installationd[164] <Error>: 00808800 install_embedded_profile: Skipping the installation of the embedded profile 
Wed Nov 11 12:42:31 unknown mobile_installationd[164] <Error>: 00808800 verify_executable: Could not validate signature: e8008017 
Wed Nov 11 12:42:31 unknown mobile_installationd[164] <Error>: 00808800 preflight_application_install: Could not verify /var/tmp/install_staging.HreENJ/foo_extracted/Payload/RestaurantApp .app/RestaurantApp 
Wed Nov 11 12:42:31 unknown mobile_installationd[164] <Error>: 00808800 install_application: Could not preflight application install 
Wed Nov 11 12:42:31 unknown mobile_installation_proxy[163] <Error>: handle_install: Installation failed 
Wed Nov 11 12:42:31 unknown mobile_installationd[164] <Error>: 00808800 handle_install: API failed 
Wed Nov 11 12:42:31 unknown mobile_installationd[164] <Error>: 00808800 send_message: failed to send mach message of 64 bytes: 10000003 
Wed Nov 11 12:42:31 unknown mobile_installationd[164] <Error>: 00808800 send_error: Could not send error response to client 

Alors quelqu'un peut-il me dire ce que cette erreur le dit l'installation échoue? J'ai trouvé que c'était un problème très commun et frustrant. Et pas même un n'a une solution parfaite.

La note technique Apple: http://developer.apple.com/iphone/library/technotes/tn2009/tn2242.html

+0

Ne serait-pas votre ami a besoin d'être un développeur iPhone enregistré pour pouvoir installer l'application sur leur téléphone? – Lazarus

+0

@ Lazarus Nope. Ils ont juste besoin de transmettre l'identifiant de leur appareil pour pouvoir l'ajouter au profil de provisionnement ad hoc avec lequel l'application est construite. –

Répondre

22

On dirait que votre profil d'approvisionnement est défectueux d'une manière ou d'une autre. Voici maintenant je travaille normalement autour du problème:

  1. Supprimer votre dossier de construction entier. Nettoyer tous si le faire pour vous mais semble laisser des bits de temps en temps
  2. Vérifiez l'ID de périphérique dans le Centre de développement. Editez-le si vous en avez besoin.
  3. Téléchargez à nouveau le profil.
  4. Réinstallez le profil.
  5. Quittez XCode et rechargez.
  6. Assurez-vous que vous avez défini XCode pour utiliser le nouveau profil ad hoc plutôt que votre profil de développeur pour l'identité de signature de code de la configuration que vous utiliserez pour l'archive.
  7. Construire
  8. Prenez une copie de l'exécutable loin
  9. droite

Il serait bien s'il y avait une façon de trouver quelle étape a mal tourné, mais jusqu'à ce que cela arrive, il est généralement préférable juste pour commencer à partir de zéro à moins vous avez des testeurs très patients (ou locaux).

+0

Bonjour Stephen, pouvez-vous me dire si je devrais prendre l'exécutable de la section du produit ou la section des exécutables. Supprimer le dossier entier ne fera aucune modification à mon projet? Atlast que devrais-je choisir pour construire "Use Base SDK" ou "iPhone Device 3.0" avec la distribution adhoc/ – harshalb

+0

sauvé ma journée ... – ViruMax

3

Il semble que l'appareil sur lequel votre ami tente d'installer votre application n'est pas en mesure de valider la signature de l'application. Fondamentalement, cela signifie que le profil d'approvisionnement que vous avez envoyé à votre ami ne correspond pas à la signature réelle (le cas échéant) appliquée lors de la compilation pour une distribution ad hoc. Essayez de vérifier les éléments suivants:

  1. vérifier que vous avez ajouté un fichier correct Entitlements.plist à votre application .
  2. vérifiez que vous avez ajouté le fichier Entitlements.plist à vos paramètres Ad Hoc pour créer l'application .
  3. Vérifiez que le certificat que vous utilisez pour signer l'application (dans vos paramètres Ad Hoc) en réalité est valide pour une distribution ponctuelle.
  4. vérifiez que vous avez réellement construit l'application en utilisant une base SDK liée à l'appareil, pas le simulateur et les paramètres de distribution Ad Hoc.
  5. vérifiez que le profil d'approvisionnement que vous avez envoyé est destiné à la distribution ad hoc et qu'il inclut correctement l'appareil de votre ami.
+0

première, deuxième et quatrième vérifications sont ok.Mais pour le troisième je ne suis pas sûr d'utiliser "Utiliser Base SDK" ou "iPhone Device 3.0" avec les paramètres de distribution adhoc. Aussi ce qui peut être faux sur le fichier Entitlements.plist Je dois juste décocher la get-task-allow, isn ' t-il? – harshalb

+0

Oui, vous devez décocher get-task-allow. Pour les paramètres de construction, procédez comme suit: définissez la dernière version possible de la version la plus récente, 3.1.2, et définissez la cible de déploiement de l'iPhone OS sur le premier sdk possible, 3.0 (car vous ne voulez pas autoriser l'exécution sur un ancien. dispositifs). Vérifiez ensuite soigneusement que l'identité de signature de code fait référence à votre approvisionnement de distribution ad hoc et que l'AppID associé est correct: n'oubliez pas de définir l'identificateur d'application en fonction de votre AppID dans le volet des propriétés de votre cible. –

+0

où puis-je trouver la "cible de déploiement iPhone OS". ? – harshalb

-1

Pour le message d'erreur "Impossible d'installer l'application sur le périphérique: Erreur: Une ressource signée a été ajoutée, modifiée ou supprimée."

this could be one probable solution

+0

Donc, il peut être le caractère générique dans le bundleID comme: com.comp_name. * – harshalb

+0

lien liens vers un site avec des logiciels malveillants (selon Google). – NickG

1

Assurez-vous qu'il n'y a aucune trace de SVN laissé dans le paquet .app, eu le même problème, après avoir supprimé les répertoires SVN cachés, tout installé bien espérons que cette aide ..

1

Blimey. Nous sommes au milieu de 2014 et XCode 5 est toujours aussi exaspérant que jamais.

Ce qui est frustrant est que, même une fois que vous avez sauté grâce à de nouvelles https cerceaux d'Apple pour créer votre installateur Ad-Hoc, votre appareil peut télécharger le package d'installation, commencer à l'installer, faillir en silence (en raison d'une mauvaise/profil Provision invalide), mais essayez ensuite de commencer le téléchargement & en installant à nouveau !!

Il est seulement une fois que vous allez dans XCode \ Organisateur, et sélectionnez votre appareil, que vous pouvez réellement regarder les journaux et savoir qu'une erreur fatale est survenue, avoir une idée de la cause, et commencer recherche sur Google pour une Solution. Pourquoi l'appareil tente de réessayer est au-delà de moi.

Et montrant que vague "[Your application] could not be installed at this time" erreur est juste trompeuse. Souvent, cela donne l'impression que, peut-être plus tard, ça marchera. Allez prendre un café, et encore après le déjeuner. Errr, non. Quoi qu'il en soit, en passant (avant de me rejeter), juste pour dire que j'ai eu ce problème, et la cause de ce que je tentais de créer une version Ad-Hoc (interne) de notre application iPad, mais j'ai sélectionné la version Production (App Store) du profil Provisioning.

Je reconstruit l'application en utilisant le bon « dans la distribution interne » profil d'approvisionnement, tout déployé à notre intranet, fait en sorte que le fichier .plist était sur un serveur https (pas un serveur http, sinon l'installation serait échouer avec un autre message d'erreur vague/non pertinent), puis il a finalement travaillé.

Oh, et j'ai trouvé les conseils sur this StackOverflow page pour sauver la vie.

Mike

(Off pour un mensonge bas. Et une bière.)