Question

J'ai créé une construction ad hoc de mon application et je voudrais une autre personne pour l'installer. Je leur appareil ID (deux en fait) dans le profil de provisionnement. Mon certificat est le même pour l'approvisionnement ad hoc et de l'app store. Le certificat est valide dans le trousseau. J'ai choisi le profil ad hoc dans Xcode pour cette construction, qui est lié au certificat de distribution.

J'envoie l'utilisateur le fichier de provisionnement et le fichier .app. Ils laissent tomber les deux dans iTunes et synchroniser ensuite obtenir cette erreur sur les deux appareils:

The application "myapp" was not installed on the iPhone "user's iPhone" because the signer is not valid.

Je l'ai enlevé tous les profils de mon iPhone, laissé tomber les deux fichiers ci-dessus dans iTunes, et installé l'synchronisés application avec succès. Je ne peux pas à repro pour moi. Je dois repro ce problème au niveau local pour comprendre la question. Toute idée comment cela peut être fait?

Était-ce utile?

La solution

Avez-vous ajouté Entitlements? Mettez la signature au niveau cible, pas le niveau du projet? Sélectionnez le profil ad hoc? Faites un nettoyage avant la construction? Sélectionnez le périphérique ad hoc ennemi l'accumulation?

Le meilleur pari est de suivre la documentation d'Apple exactement , obtenir vos paramètres de construction exactement Match d'Apple.

Autres conseils

Il est une bonne idée de vérifier le fichier imbedded.mobileprovision qui est livré dans le fichier .app pour vous assurer que l'UID est là-dedans. Il suffit de faire ce qui suit:

  1. Décompressez ProblemApp.ipa
  2. cd Payload / ProblemApp.app
  3. pico imbedded.mobileprovision

Recherchez l'UID de votre appareil dans ce fichier. Si c'est pas là, il est probablement pas ajouté au fichier d'approvisionnement dans le portail.

A partir de la documentation:

  

Construire une application pour Ad Hoc   la distribution est similaire à la construction d'un   application pour la distribution App Store, avec   une exception de deux étapes supplémentaires.   Tout d'abord, vous devez créer un groupe ad hoc   Répartition profil de provisionnement et   ajouter les UDID des appareils iOS qui   vous voulez distribuer à l'aide de la   Programme iPhone Developer Provisioning   Portail. Deuxièmement, vous devez créer un   fichier-signature de code Entitlements. Pour   informations sur la façon de créer un   fichier lu la Gestion Entitlements   section d'application de Entitlements   le Guide de développement iOS.


  

Gestion de l'application Entitlements

     

iOS permet d'accéder à particulier   des ressources et des capacités telles que   si votre demande peut être   propriétés débogué-through appelé   droits. Pour spécifier le droit   informations dans votre application, vous   ajouter un fichier de liste de propriétés droits   contenant des définitions de versement   (clés / paires de valeurs) à votre projet.   Lorsque vous créez votre application, Xcode   copie le fichier généré   paquet d'application.

     

Pour ajouter une propriété liste des droits   fichier à votre projet:

     

Dans la liste des groupes et des fichiers, sélectionnez le   groupe de ressources. Choisissez Fichier> Nouveau   Fichier. Choisissez la signature de code iOS>>   modèle Entitlements. Nom du fichier   Entitlements.plist. (Vous pouvez utiliser tout   Nom; juste vous assurer qu'il correspond à la valeur   du Code Signing construire Entitlements   réglage, comme expliqué plus loin dans ce   section.) Régler le type de   fichier-liste de propriétés pour iPhone   Droits. Avec le fichier sélectionné   dans l'éditeur de texte, choisissez Affichage>   Liste Type de propriété> iPhone   Plist Entitlements.

     

Ajoutez vos entrées au droit à l   fichier. Pour chaque propriété de droit   vous devez définir:

     

Cliquez sur l'enfant ou Ajouter Sibling   boutons situés à droite du sélectionné   rangée. Le bouton Ajouter enfant a trois   lignes représentant une hiérarchie, Ajouter   bouton Sibling a un plus (+) signer   il. Choisissez la propriété droit   dans le menu contextuel qui apparaît. Si   le droit dont vous avez besoin d'ajouter   ne figure pas dans le menu, choisissez   Voir> Liste des propriétés de type> Par défaut   pour le type de fichier. Entrez ensuite le   nom clé droit et le type.

     

Entrez la valeur de la propriété. Ensemble   les droits de signature de code construire   réglage de la cible au nom de   les droits nouvellement ajoutés   fichier-liste de propriétés.


  

Une fois que vous   ont créé votre fichier Entitlements   et ajouté à votre code de signature   Réglage construire Entitlements, ouvrez le   fichier et ajouter ou Entitlements modifier la   get-tâches permet la clé et le mettre à   faux.

     

En plus de la compression de votre .app   bundle pour distribuer votre construction ad hoc   aux testeurs, etc., il est recommandé   que vous compressez aussi   profil d'approvisionnement avant   la distribution parce que certains e-mail   les clients et les serveurs peuvent corrompre les   profil d'approvisionnement.

     

Pour plus d'informations sur Ad Hoc   la distribution s'il vous plaît lire la   Publication d'applications pour les essais   section dans le Guide de développement iOS.

Je suis tombé sur ce problème récemment avec un testeur sur une construction récente. Il est avéré que mon modèle d'essai avait réinitialiser leur iPod Touch et retiré le profil de provisionnement dans le processus.

Juste quelque chose à considérer.

Je suis cette erreur en faisant quelque chose plus bête que quelqu'un d'autre a posté. J'ai ajouté de nouveaux périphériques au profil, mais il a oublié de télécharger la version mise à jour, ajouter à Xcode, et diriger le projet à lui. Lorsque je l'ai mis en place correctement, les testeurs ont pu installer l'amende app.

Voici un autre plaisir .... si vous avez des fichiers séparés pour l'admissibilité iPhone et iPad, assurez-vous de définir la cible pour le fichier pour chaque version spécifique ... sinon il ne sera pas affiché dans la construction et vous ll obtenir cette erreur

Je suis arrivé ici parce que j'ai eu le même problème que l'OP. Il en effet avéré que je n'avais pas le UDID dans le dossier des droits et privilèges, même si je suis sûr que je refresh dans l'organisateur de XCode. Un autre rafraîchissement ne fait aucune différence.

En fin de compte j'ai supprimé tous les profils d'approvisionnement et puis fait un rafraîchissement. Les choses fonctionnent maintenant.

Je ne sais pas si cela est un petit problème dans ma configuration, ou une erreur de l'opérateur. Mais juste au cas où quelqu'un se trouve ailleurs dans cette situation. Il peut payer pour retirer vos profils de provisionnement puis effectuez un rafraîchissement

Cela ne fonctionne pas pour moi avec un IOS en cours d'exécution iphone 3G 3.1.3. J'ai vérifié que le profil de distribution n'a pas été sur le téléphone en regardant Paramètres-> général (il n'y avait pas d'option de profil indiqué).

J'ai ensuite installé l'utilitaire de configuration iPhone:

http://support.apple.com/kb/DL851

Alors:

  1. run config iphone
  2. glisser-déposer le fichier embedded.mobileprovision à l'application
  3. cliquez sur périphérique sur le côté gauche
  4. cliquez sur l'onglet "profils de provisionnement"
  5. Cliquez sur le profil, puis cliquez sur le bouton « installer »

Ensuite, l'application installée très bien.

J'ai eu le même problème que l'OP aussi. erreur stupide: Je accidentellement laissé tomber les deux derniers chiffres de l'appareil que je tentais ad hoc à distribuer lorsque je me suis inscrit comme périphérique

.

Je suis même problème deux fois (xcode 4.2 ios 5)

1er, j'ai oublié le temps d'ajouter ARMv6 dans l'architecture

2, le temps que j'ai créé de nombreux fichiers d'approvisionnement avec la même ID de développeur que je devrais supprimer d'autres porte-clés en fonction de l'utilisation de l'identificateur de paquet ... et je supprimé par erreur valide et utilisé d'autres kechain

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top