web-dev-qa-db-fra.com

Xcode 6 beta 2 problème lors de l’exportation du fichier .ipa: "Votre compte dispose déjà d’un certificat de distribution iOS valide"

Je ne parviens pas à exporter une application pour la distribution ad hoc sur Xcode 6 beta 2:

Failed to locate or generate matching signing assets

Lors de l'exportation de mon projet pour un développement ad hoc sur Xcode 6, je reçois cette alerte. J'ai essayé de l'exporter sur Xcode 5 et je n'ai rencontré aucun problème pour enregistrer le fichier .ipa. Est-ce que quelqu'un connaît ce problème aussi?

192
3254523

C'est ce qui a fonctionné pour moi.

  1. Sur ma machine, j'ai gardé à la fois Xcode 5 et Xcode 6 beta.

  2. À partir de la version bêta de Xcode 6, archivez le projet. Fermez Xcode 6.

  3. Ouvrez Xcode 5, accédez à Organiseur et exportez en tant que build ad hoc avec le profil de provisioning approprié.

C'est ça!

51
Adnan

J'ai eu le même problème il y a deux jours. Il s'avère que le problème était:

  1. J'ai mon propre certificat de distribution de développeur avec une clé privée appropriée
  2. J'ai un certificat de distribution développeur d'entreprise de mon client sans une clé privée
  3. J'essaie de créer un package de distribution d'entreprise pour mon client
  4. Xcode me lance une vague erreur: Votre compte dispose déjà d'un certificat de distribution iOS valide

La solution est la suivante: obtenir une clé privée pour le compte d'entreprise de mon client. Il y a 2 options possibles:

  1. Demandez à votre client des informations d'identification pour accéder à son compte de développeur d'entreprise sur le site Web Apple. Révoquer l'ancien certificat et le recréer. Vous allez créer la clé privée dans le processus. ATTENTION: la révocation d'un certificat de distribution entreprise invalide toutes les applications signées et déployées avec ce certificat ( infos officielles ).
  2. Demandez à votre client d'exporter sa clé privée à partir de son application Keychain Access sous forme de fichier * .p12 et de vous l'envoyer avec un mot de passe. Vous ne pouvez pas télécharger la clé privée existante à partir du site Web Apple. La seule façon de l'obtenir est de demander à votre client. Je l'ai fait et j'ai réussi à faire le paquet.

Comment savoir si vous avez une clé privée pour un certificat: Ouvrez l'application Keychain Access. Choisissez des certificats. Trouvez votre certificat. Si vous voyez un petit triangle gris à gauche du certificat, ouvrez-le et vous verrez votre clé privée. Pas de triangle = pas de clé privée.

How to find if you have a private key for certificate

65
Alexander Vasenin

J'ai eu le même problème, je devais utiliser l'outil "xcodebuild" en ligne de commande comme solution de contournement, avec seulement Xcode 6 installé (je n'avais pas à réinstaller Xcode 5).

http://www.thecave.com/2014/09/16/using-xcodebuild-to-export-a-ipa-from-an-archive/

Exemple:

xcodebuild -exportArchive -archivePath $projectname.xcarchive -exportPath $projectname -exportFormat ipa -exportProvisioningProfile "Provisioning Profile Name"
49
Chris Comeau

Dans mon cas, le problème a été résolu en supprimant tous les certificats de distribution de mon compte de développeur Apple. Ensuite, Xcode a réussi à créer à nouveau des certificats de développement et de distribution, ce qui a fait l'affaire.

28
lucaslt89

Je reçois une solution sans renouveler le certificat:

1 - Archivez la cible avec l’identité de signature de code appropriée et

2 - Bouton droit dans le fichier créé dans Organiseur -> Afficher dans le Finder

3 - Bouton droit dans le fichier xcarchive -> Afficher le contenu du package

4 - Là, dans Finder , accédez à Produits/Applications /

5 - Téléchargez le fichier Produits/Applications/appName sur iTunes

6 - Lorsque l'application apparaît dans iTunes, faites un clic droit dessus -> Afficher dans le Finder . Ceci est le fichier ipa

7 - Envoyez cet ipa via App Loader 3.0

Je ne pense pas que ce soit une solution durable, mais je ne veux pas supprimer mes certificats

19
Pedro Lorente

ENFIN RÉSOLU !!

1) Créez un NOUVEAU certificat de production via developer.Apple.com, ce qui vous oblige à utiliser Accès au troussea pour créer une nouvelle clé privée sur votre ordinateur.

2) Dans le même portail de développeur, ouvrez votre profil de provisioning de distribution utilisé avec cette application et sélectionnez le nouveau certificat de production que vous venez de créer. Générez la provision, puis téléchargez-la et exécutez-la

3) Exécutez votre application, archivez-la, puis exportez l'archive.

alto

Cela m'a pris des jours, voire des semaines, pour comprendre, j'espère que cela vous aidera.

17
Jacksonkr

Créez un nouveau certificat de distribution iOS et choisissez Production> Section App Store & AdHoc. N'oubliez pas non plus de modifier Target> Build Settings> Code Signing all to iOS Distribution.

14
Yucel Bayram

J'ai rencontré le même problème aujourd'hui avec Xcode 6.1.1

Lorsque j'ai essayé d'ajouter un certificat de distribution iOS via Xcode, l'erreur que j'ai obtenue était la même. Il y avait déjà plusieurs certificats de distribution émis dans Member Center et je ne voulais pas les invalider car s'ils étaient utilisés pour la distribution ad hoc dans un environnement d'entreprise, cela invaliderait également les applications installées sur les périphériques (du moins c'est ce que je 'ai lu).

Ce que j'ai fait était:
1. Via Keychain Access a généré une demande de certificat émanant d'une autorité de certification. Et sauvegardé la demande dans un fichier;
2. Connecté à la section Production de la zone de certificats du centre des membres et demandé un nouveau certificat de production "App Store et Ad Hoc", il a demandé le fichier à l'étape 1;
3. Téléchargé le nouveau certificat et, une fois importé dans le trousseau, il possédait maintenant une clé privée.

Après avoir nettoyé Xcode, l’ai redémarré, vérifié que le profil est visible dans mon compte et créé une nouvelle archive. Et maintenant, j'ai pu valider les archives.

Maintenant, si j'essaie de demander un nouveau certificat "App Store et Ad Hoc", cette option est grisée pour moi et je suppose que c'est parce que mon compte a déjà le certificat émis. Si tel est votre cas, vous devrez probablement invalider votre précédent certificat avant de pouvoir en délivrer un nouveau. C'est pourquoi Apple recommande de sauvegarder votre certificat. Mais il est très probable que vous n’auriez pas besoin d’invalider tous les certificats de production car j’en ai déjà un certain nombre dans le profil.

J'espère que ça aide quelqu'un :)

11
Angel Naydenov

Apple a changé la manière de construire Ad Hoc. Désormais, vous ne pouvez pas créer de versions de distribution ad hoc à l'aide de dev cert. Vous devez plutôt utiliser un certificat de distribution avec un profil d'approvisionnement "Ad Hoc".

7
Son Nguyen

Je crois que la raison pour laquelle vous vous êtes retrouvé dans cet écran est lorsque vous essayez de distribuer le fichier .ipa à vos testeurs et à vos clients. Dans Xcode 6, pour obtenir le fichier .ipa, vous pouvez utiliser l'ancienne méthode de génération iPA:

  1. Sélectionnez un organisateur dans Xcode. Dans l'onglet Archives, sélectionnez l'archive dont vous devez générer le fichier iPA.
  2. Faites un clic droit et sélectionnez l'option "Afficher dans le Finder"
  3. Vous verrez le fichier .xarchive. Faites un clic droit et sélectionnez "Afficher le contenu du paquet"
  4. Vous verrez les dossiers: dSYMs, Info.plist et Products.
  5. Ouvrez Produits> Applications et vous verrez votre fichier .app.
  6. Faites glisser et déposez ce fichier .app sur iTunes sous Mac.
  7. Votre fichier .app sera répertorié sous "Mes applications" dans iTunes.
  8. Faites un clic droit sur votre application et sélectionnez "Afficher dans le Finder".

Vous avez maintenant le fichier .ipa que vous pouvez envoyer à vos testeurs pour le tester. J'espère que cela t'aides.

6
shah1988

Il y a eu des changements dans la manière dont Apple gère notre clé privée et notre clé publique. La méthode précédente pour partager le compte sur deux ordinateurs était
1.téléchargement
2.export/checkout certificate

installez les deux sur l'autre mac

mais maintenant, vous n’avez pas à faire pour exporter votre compte en entier.
1.XCode -> préférences -> compte (sélectionner le compte) en bas à gauche, il y a une option pour exporterenter image description here vous serez invité à donner un mot de passe, le cas échéant, lors de l'importation sur un autre système. Un fichier .developerprofile sera téléchargé à l'emplacement de votre choix.

2.téléchargez-le sur un autre Mac et lorsque vous voyez l'invite, votre appareil a déjà une identité de signature valide, cliquez sur , importez le profil de développeur et importez ce fichier .developerprofile.enter image description here entrez le mot de passe lorsque vous y êtes invité.

j'ai eu de l'aide d'ici

4
amar

J'ai le même problème aujourd'hui et j'ai trouvé une bonne solution, je pense.

Tout d'abord, il y a quelque chose d'anormal:

enter image description here

la normale est:

enter image description here

et dans le trousseau:

enter image description here

la normale est:

enter image description here

ensuite, je me rends compte que le profil de provisioning correct, qui contient le certificat de distribution iOS correct, me manque.

Enfin, ma solution est la suivante: tiliser mon fichier CertificateSigningRequest.certSigningRequest pour générer un nouveau certificat de distribution iOS et utiliser le nouveau certificat de distribution iOS pour générer un nouveau profil d'approvisionnement.

Remarque: je ne supprime pas l'ancien profil de certification et d'approvisionnement, car mon collègue fonctionne bien avec eux. Cela affecte-t-il les applications que j'ai déjà publiées? La réponse est NO. Je viens de changer le certificat de signature de code, et un certificat important comme Push notification certificate est lié à l'ID de l'application:

enter image description here

Alors ne vous inquiétez pas pour ça.

J'espère que ce qui précède est utile.

3
Allen

Je l'ai résolu en suivant les étapes suivantes:

1) dans votre compte de développeur Apple: créez un nouveau certificat de production. Choisissez l'App Store et l'option ad hoc.

2) dans votre compte de développeur Apple: créez un nouveau profil d'approvisionnement avec votre identifiant de bundle actuel et le certificat créé à l'étape 1

3) dans votre xcode:

  • Sélectionnez votre cible
  • Dans l'onglet Construire les paramètres dans la zone Code Signing
  • Dans la sous-zone Code Signing Identity - Release
  • Définissez votre nouveau certificat de distribution (ad hoc)
  • Dans le profil de provisioning - définissez votre nouveau profil de provisioning (ad hoc)

Semble que xcode 6 nécessite maintenant un certificat de distribution ad hoc pour exporter votre IPA.

enter image description here

3
shontauro

Comme l'a souligné un intervenant, cela s'est avéré être une solution pour moi et les autres:

J'ai supprimé et re-téléchargé tous mes certificats requis ainsi que les clés nécessaires pour générer et j'ai pu surmonter cette erreur

2
3254523

Je viens de rencontrer cela après la mise à niveau de Xcode 5 à 6.

Dans mon cas, créer un nouveau certificat de production puis recréer le profil de provisionnement de la distribution pour mon application a fait l'affaire.

2
Ben Thielker

Je révoque ma certification de production et en demande une autre pour résoudre ce problème. Peut-être avez-vous besoin de redémarrer votre xcode.

2
zhangsanshi5566

Je pense que c'est un bug de Xcode. pour que cela fonctionne, j’ai besoin de supprimer le profil provisoire de distribution actuel et j’ai dû créer un nouveau profil de distribution provisoire à partir de devcenter. Cela fonctionne de moi

1
Fabio

De plus, j'ai trouvé que comptes Xcode entrent en jeu -

enter image description here

Il s’est avéré que j’avais un certificat de distribution valide sur mon compte personnel (mobilology); j’ai donc supprimé ce compte temporairement de la section Comptes (vous souhaiterez peut-être ne laisser que le compte depuis lequel vous effectuez la distribution). .

Soudain, le processus de signature/archivage a fonctionné!

1
Damo

J'ai également rencontré le même problème, j'utilisais un certificat de développement au lieu d'Adhoc. Le problème est résolu après l'utilisation du certificat Adhoc.

1
abhinav

Ma solution était Supprimer le seul certificat de production iOS que j'utilise et le créer à nouveau. Pour ce faire, vous devez créer un nouveau profil d'approvisionnement affectant le certificat que vous venez de créer.

puis j'ai refait le processus d'archivage et ça marche!

1
benLIVE

C'est ce qui a fonctionné pour moi (compte d'entreprise)

Importez le profil de développeur à partir de l’autre ordinateur, qui a chargé le certificat dont j’avais besoin avec la clé secrète.
Renommez le groupe d'applications en nom d'entreprise (il a été nommé sous le nom de la boutique d'applications).
Dans l'onglet "Général", remplacez le nom de l'équipe par l'équipe de mon entreprise. Par défaut, mon compte de développeur personnel par défaut!

Grâce à ces modifications, je pourrais exporter un ipa en tant que projet ad hoc et en entreprise, le télécharger sur Hockey Rink et le télécharger sur mon téléphone.

1
Jack BeNimble

Supprimez votre certificat ios Distribution du site pour développeurs Apple et régénérez-le avec le fichier certSignReq. Ça marche toujours pour moi. Vos autres applications ne seraient pas affectées. Au moins dans mon cas, cela n'a jamais été le cas.

1
Ankish Jain

Dans mon cas, j'ai généré un nouveau profil de distribution et l'a ajouté à XCode, puis essayé de soumettre la construction. Il s'avère que tout ce que je devais faire pour me débarrasser de ce message était de redémarrer XCode et de tenter à nouveau de le soumettre. Travaillé.

1
andrewz

Dans la dernière version officielle de Xcode 6.0, cela se produira si vous avez accidentellement créé un enregistrement dans votre fichier de droits ayant une clé comme celle-ci:

com.Apple.security.application-groups

Je ne sais pas si Xcode l'a automatiquement créé par défaut. Mais supprimer cette clé a résolu mon problème. Je n'ai pas eu à recréer de certificat. Ce n'était pas mon problème.

1
thkeen

J'ai résolu ce problème en régénérant simplement le profil de provisioning sur le portail de développeur (dans mon cas, un profil App Store) et en ajoutant à mon ordinateur via l'utilitaire de configuration iPhone. Je ne voulais pas jouer avec les certificats et j'ai réussi à l'éviter.

J'ai remarqué ce message d'erreur enregistré par Xcode dans ma console:

Aucun des profils d'approvisionnement valides n'autorisait les droits spécifiés: identificateur d'application, groupes de rapports actifs, groupes de clés d'accès.

Après le téléchargement d'un nouveau profil d'approvisionnement, le beta-reports-active = true manquant était présent et Xcode a signé la construction.

1
alleus

Étape 1: -Login à votre compte de développeur Apple

Étape 2: Choisir des certificats

Étape 3: -Supprimez s'il y a plus d'un certificat de distribution

Étape 4: -Essayez de nouveau l'archivage (si l'erreur persiste, révoquez tous les certificats, créez un nouveau certificat de distribution et modifiez vos profils de provision.)

Dans mon cas, le message d'erreur apparaissait lorsque j'essayais d'exporter et de générer AdHoc à partir d'Organizer. J'ai fait deux choses, l'une ou l'autre pouvant avoir résolu le problème:

1) Exporté le certificat existant qu’il prétendait ne pas avoir dans mon trousseau, l’a supprimé du trousseau, puis réimporté.

2) Création d'un certificat de distribution ad-hoc, compte XCode actualisé pour obtenir le nouveau profil d'approvisionnement de la distribution.

Après cela, j'ai été capable d'exporter exactement la même archive vers une construction AdHoc. Je pense vraiment que c’est seulement le fait que je manquais d’une distribution ad hoc qui ciblait ce bundleID spécifique qui a conduit à la confusion de XCode.

Suivi: Les archives que j'avais créées auparavant ne fonctionnaient pas, je devais les générer à nouveau. Le problème était que lors de la sélection de l'archive et de l'exportation d'une génération ad-hoc, le compte par défaut sélectionné était le mauvais compte pour la génération (aucun compte par défaut n'avait été sélectionné dans le projet lorsque j'ai archivé la génération).