Mac OS X souhaite utiliser le trousseau système lors de la compilation du projet

92

Je suis invité à saisir le nom d'utilisateur et le mot de passe de l'administrateur système lorsque je compile mon projet Xcode. Tout le message est

Mac OS X souhaite apporter des modifications. Tapez le nom et le mot de passe d'un administrateur pour autoriser cela. Mac OS X souhaite utiliser le trousseau système.

Quelqu'un at-il une solution pour cela?

Singh
la source

Réponses:

242
  1. Ouvrez l'accès au trousseau.
  2. Dans le coin supérieur gauche, déverrouillez le trousseau (s'il est verrouillé).
  3. Choisissez le trousseau système dans le coin supérieur gauche.
  4. Trouvez votre certificat de distribution et cliquez sur le triangle de divulgation.
  5. Double-cliquez sur «Clé privée» sous votre certificat de distribution.
  6. Dans la fenêtre contextuelle, accédez à l'onglet Contrôle d'accès.
  7. Sélectionnez «Autoriser toutes les applications à accéder à cet élément».
  8. Enregistrez les modifications.
  9. Fermez toutes les fenêtres.
  10. Exécutez l'application.
PVCS
la source
3
Je ne trouve aucune liste déroulante de certificat de distribution. où trouver ça?
Ananth Srinivasan
4
@AnanthSrinivasan, PVCS signifie simplement la liste des comptes répertoriés dans la fenêtre principale. Double-cliquez sur le compte qui vous oblige à entrer le nom d'administrateur et le mot de passe.
crazyDiamond
C'est également le seul bon moyen de s'assurer qu'il fonctionne sur un serveur de build automatisé sans interruption pour les informations d'identification.
Ben Butzer
4
Vous méritez un gros cookie pour cette réponse.
Miiite
1
J'ai trouvé que, sur El Capitan, vous devez double-cliquer sur les clés privées qui correspondent au format yourhostname.domain.identity, puis effectuer les étapes 6 à 8.
Jason D
22

Le problème est avec le certificat de développeur sur le trousseau qui se trouve sous "Système", sur le panneau de gauche, qui est toujours verrouillé et nécessite mon mot de passe pour se déverrouiller!

Il suffit donc de déplacer le certificat de développeur sur "login", qui est toujours déverrouillé. Maintenant, votre problème est résolu.

smit shah
la source
1
Cela m'a aidé, sauf que je ne pouvais pas déplacer le trousseau sur «connexion». Cependant, je pense que la suppression du certificat du trousseau système résout ce problème.
goelakash
Cela ne convient que pour la construction à partir de l'interface graphique Xcode, lorsque vous construisez à partir de la CLI (comme dans un environnement CI), la clé et le certificat doivent être dans le trousseau système.
RAM237
Génial! travaillé pour moi. Mon certificat était sous "Système", je l'ai déplacé vers "Connexion".
lal
Rien n'a fonctionné pour moi sauf celui-ci. Notez que je ne pouvais pas le déplacer, je devais supprimer et simplement faire glisser le certificat manuellement vers "Connexion"
Lirik
7
  1. Ouvrir l'accès au trousseau

  2. Cliquez sur Système dans le volet gauche

  3. Déverrouillez le trousseau du système en haut à gauche (s'il est verrouillé)

  4. Trier les éléments système par type afin que les clés soient en haut

  5. Recherchez la clé privée qui ne cesse de demander le mot de passe

  6. Double-cliquez dessus et choisissez Contrôle d'accès

  7. Choisissez "Autoriser toutes les applications à accéder à cet élément"

  8. Enregistrez les modifications, verrouillez le trousseau système et quittez l'application trousseau

  9. Redémarrez l'application qui ne cesse de demander de modifier votre trousseau

émotalité
la source
En tant que meilleure pratique, pour l'étape 7, n'autorisez que les applications spécifiques auxquelles vous essayez d'accorder l'accès. Parce que la sécurité.
Mike Rapadas
1
En quoi cela diffère-t-il de la réponse fournie des années auparavant ?
grg
1
Quand j'y ai répondu, la réponse datait de 2 ans et la réponse ne fonctionnait pas pour moi, alors j'ai noté les étapes que j'ai prises pour que cela fonctionne, d'où les 5 votes positifs. Ne venez pas ici et mettez à jour sa réponse, puis demandez-moi pourquoi la mienne est différente. Si c'était la même chose, je suis sûr que tout le monde l'aurait déclinée comme vous ..
emotality
1
Je ne parviens pas à enregistrer les modifications à l'étape 8. J'entre le mot de passe administrateur (me le demande deux fois), cependant, lorsque je rouvre la clé, les modifications n'ont pas été enregistrées! Pourquoi cela est-il ainsi?
Danijel
5

J'avais ce problème parce que j'avais des certificats en double dans ma connexion et mes trousseaux système. En ouvrant Keychain Access et en supprimant tous les certificats du système qui étaient également en cours de connexion, ce problème a été résolu. J'espère que cela t'aides.

Jeff Ames
la source
Cela ne convient que pour la construction à partir de l'interface graphique Xcode, lorsque vous construisez à partir de la CLI (comme dans un environnement CI), la clé et le certificat doivent être dans le trousseau système. Sur un Mac, j'ai la même situation: dupliquer dans la connexion et le trousseau système et tout fonctionne très bien, mais pas sur un autre pour une raison quelconque ...
RAM237
3

J'ai trouvé que ce problème était lié à l'approvisionnement des profils. J'ai supprimé tous les profils d'approvisionnement précédents, puis réinstallé celui dont j'avais besoin.

Singh
la source
2

Dans mon cas, je suis allé à Keychain Access, sélectionné "système" dans "Keychains" (en haut à gauche). Puis pour chaque élément: clic droit, «Obtenir des informations», «Contrôle d'accès» et ajout de Xcode dans la liste «Toujours autoriser l'accès par ces applications:».

krafter
la source
2

Déplacez votre clé privée du système pour vous connecter à l'accès au trousseau, puis déplacez votre certificat de développeur dans la connexion.Cela a fonctionné pour moi.

Rose du désert
la source
1

J'ai suivi une solution similaire à ce que @krafter a fait mais, au lieu de donner accès à tout ce qui se trouve dans le trousseau du système, je n'avais qu'à ajouter un xcode au profil d'approvisionnement sous trousseau -> système -> "votre profil de provision" -> obtenir des informations -> Contrôle d'accès, puis vient d'ajouter xcode. C'est ce qui a fonctionné pour 4.6

SuperDave
la source
0

Oui - exécutez XCode avec des privilèges d'administrateur uniquement. Il a besoin de droits d'administrateur pour effectuer tout un tas de tâches, installations, sessions de débogage, etc.

Stavash
la source
Comment puis-je changer les préférences de xcode pour qu'il fonctionne avec admin previliges?
Singh
Je veux dire, exécutez-le à partir d'un utilisateur défini comme administrateur.
Stavash
0

Êtes-vous sûr que "Mac OS X" n'est pas lié aux outils de développement?

Il est normal que Developer Tools souhaite activer le mode développeur sur votre Mac.Par conséquent, vous n'avez pas besoin de saisir un mot de passe administrateur chaque fois que vous commencez à déboguer votre application dans le simulateur pour la première fois après chaque lancement de Xcode.

Mais si vous n'avez pas activé le mode développeur, alors qu'il était proposé par Xcode, alors soyez prêt, ce Xcode demandera un mot de passe administrateur pour la première fois que vous lancerez le débogage dans le simulateur après chaque lancement de Xcode.

Aleksejs Mjaliks
la source
oui, il dit MAC OS X et lorsque je compile la compilation pour le simulateur, il ne me montre pas ce message et lorsque je lance un projet sur l'appareil, il me montre le message
Singh
J'ai trouvé que ce problème était lié à l'approvisionnement des profils. J'ai supprimé tous les profils de provisionning précédents, puis réinstallé celui dont j'avais besoin pour résoudre le problème
Singh
Ya D'accord avec @developersaremad. J'ai une solution ... Merci
kb920
0

Vous devez ajouter votre nom d'utilisateur OSx au _developergroupe. A travaillé pour moi.

sudo dscl . append /Groups/_developer GroupMembership <username>
Saroj
la source
0

Il semble que Xcode n'actualise pas la sélection de l'équipe, donc la sélectionner à nouveau dans l'onglet général des cibles l'a résolu.

Moran77
la source
0

Les paramètres de contrôle d'accès ne semblent plus être sauvegardés pour les clés privées qui sont stockées dans le trousseau système, donc essayer d'ajouter Xcode à la liste blanche n'a pas fonctionné pour moi.

Afin de conserver les modifications du contrôle d'accès, j'ai dû copier la clé privée + le certificat dans le trousseau de connexion. Cela a empêché Xcode de me déranger lors de la signature de code pour la distribution.

Notez que Xcode arrêtera la distribution si les paramètres de confiance du certificat sont modifiés (par exemple, toujours autoriser la signature de code); vous devez conserver ces paramètres par défaut du système.

J'espère qu'il existe une meilleure solution que celle-ci, car cela ne semble pas juste. Mais ça marche pour le moment.

Nathan Hosselton
la source