Mac OS X möchte beim Kompilieren des Projekts einen Systemschlüsselbund verwenden

92

Ich werde beim Kompilieren meines Xcode-Projekts aufgefordert, den Benutzernamen und das Kennwort des Systemadministrators einzugeben. Die ganze Nachricht ist

Mac OS X möchte Änderungen vornehmen. Geben Sie den Namen und das Kennwort eines Administrators ein, um dies zu ermöglichen. Mac OS X möchte den Systemschlüsselbund verwenden.

Hat jemand eine Lösung dafür?

Singh
quelle

Antworten:

240
  1. Öffnen Sie den Schlüsselbundzugriff.
  2. Entsperren Sie in der oberen linken Ecke den Schlüsselbund (falls er gesperrt ist).
  3. Wählen Sie den Systemschlüsselbund in der oberen linken Ecke.
  4. Suchen Sie Ihr Vertriebszertifikat und klicken Sie auf das Offenlegungsdreieck.
  5. Doppelklicken Sie unter Ihrem Vertriebszertifikat auf "Privater Schlüssel".
  6. Wechseln Sie im Popup zur Registerkarte Zugriffssteuerung.
  7. Wählen Sie "Allen Anwendungen erlauben, auf dieses Element zuzugreifen".
  8. Speichern Sie die Änderungen.
  9. Schließen Sie alle Fenster.
  10. Führen Sie die Anwendung aus.
PVCS
quelle
3
Ich finde keine Dropdown-Liste für Verteilungszertifikate. Wo finde ich das?
Ananth Srinivasan
4
@AnanthSrinivasan, PVCS bedeutet nur die Liste der Konten, die im Hauptfenster aufgeführt sind. Doppelklicken Sie auf das Konto, das Sie zur Eingabe des Administratornamens und des Kennworts zwingt.
crazyDiamond
Dies ist auch die einzige gute Möglichkeit, um sicherzustellen, dass es auf einem automatisierten Build-Server funktioniert, ohne die Anmeldeinformationen zu unterbrechen.
Ben Butzer
4
Sie verdienen einen großen Arsch Cookie für diese Antwort.
Miiite
1
Ich habe festgestellt, dass Sie auf El Capitan auf die privaten Schlüssel doppelklicken müssen, die dem Format yourhostname.domain.identity entsprechen, und dann die Schritte 6 bis 8 ausführen müssen.
Jason D
22

Das Problem liegt beim Entwicklerzertifikat für den Schlüsselbund unter "System" auf der linken Seite, das immer gesperrt ist und zum Entsperren mein Passwort erfordert!

Verschieben Sie das Entwicklerzertifikat einfach in "Login", das immer entsperrt ist. Jetzt ist Ihr Problem gelöst.

Schah schlagen
quelle
1
Dies hat mir geholfen, außer dass ich den Schlüsselbund nicht zum "Anmelden" bewegen konnte. Ich denke jedoch, dass das Entfernen des Zertifikats aus dem Systemschlüsselbund dieses Problem löst.
Goelakash
Dies ist nur zum Erstellen über die Xcode-GUI geeignet. Wenn Sie über die CLI erstellen (wie in einer CI-Umgebung), muss sich der Schlüssel und das Zertifikat im Systemschlüsselbund befinden.
RAM237
Toll! arbeitete für mich. Mein Zertifikat befand sich unter "System" und wurde auf "Anmelden" verschoben.
23.
Nichts hat für mich funktioniert außer diesem. Beachten Sie, dass ich es nicht verschieben konnte, ich musste das Zertifikat löschen und einfach manuell auf "Login" ziehen
Lirik
7
  1. Öffnen Sie den Schlüsselbundzugriff

  2. Klicken Sie im linken Bereich auf System

  3. Entsperren Sie den Systemschlüsselbund oben links (falls er gesperrt ist).

  4. Sortieren Sie die Systemelemente nach Art, sodass sich die Tasten oben befinden

  5. Suchen Sie nach dem privaten Schlüssel, der ständig nach dem Passwort fragt

  6. Doppelklicken Sie darauf und wählen Sie Zugriffssteuerung

  7. Wählen Sie "Allen Anwendungen erlauben, auf dieses Element zuzugreifen".

  8. Speichern Sie die Änderungen, sperren Sie den Systemschlüsselbund und beenden Sie die Schlüsselbund-App

  9. Starten Sie die Anwendung neu, die ständig nach Änderungen an Ihrem Schlüsselbund fragt

Emotionalität
quelle
Als bewährte Methode sollten Sie in Schritt 7 nur die spezifischen Anwendungen zulassen, auf die Sie Zugriff gewähren möchten. Weil Sicherheit.
Mike Rapadas
1
Wie unterscheidet sich dies von der Antwort vor Jahren ?
Grg
1
Als ich darauf antwortete, war die Antwort 2 Jahre alt und die Antwort funktionierte nicht für mich. Deshalb schrieb ich die Schritte auf, die ich unternommen habe, damit es funktioniert, daher die 5 positiven Stimmen. Komm nicht her und aktualisiere seine Antwort, dann frag mich, warum meine anders ist. Wenn es die gleiche wäre, hätte es sicher jeder wie du
herabgestimmt
1
Ich kann die Änderungen in Schritt 8 nicht speichern. Ich gebe den Administratorpass ein (fragt mich zweimal), aber wenn ich den Schlüssel erneut öffne, wurden die Änderungen nicht gespeichert! Warum ist das so?
Danijel
5

Ich habe dieses Problem erhalten, weil meine Anmelde- und Systemschlüsselanhänger doppelte Zertifikate enthielten. Durch Öffnen des Schlüsselbundzugriffs und Löschen aller Zertifikate aus dem System, die sich ebenfalls angemeldet hatten, wurde dieses Problem behoben. Hoffe das hilft.

Jeff Ames
quelle
Dies ist nur zum Erstellen über die Xcode-GUI geeignet. Wenn Sie über die CLI erstellen (wie in einer CI-Umgebung), muss sich der Schlüssel und das Zertifikat im Systemschlüsselbund befinden. Auf einem Mac habe ich die gleiche Situation: Duplizieren in Login und Systemschlüsselbund und alles funktioniert gut, aber aus irgendeinem Grund nicht auf einem anderen ...
RAM237
3

Ich fand dieses Problem in der Bereitstellung von Profilen. Ich habe alle vorherigen Bereitstellungsprofile gelöscht und dann eines neu installiert, das ich benötigte.

Singh
quelle
2

In meinem Fall ging ich zu Keychain Access und wählte "System" in "Keychains" (oben links). Dann für jedes Element: Klicken Sie mit der rechten Maustaste auf "Informationen abrufen", "Zugriffskontrolle" und fügen Sie Xcode in der Liste "Zugriff von diesen Anwendungen immer zulassen:" hinzu.

krafter
quelle
2

Verschieben Sie Ihren privaten Schlüssel vom System, um sich beim Schlüsselbundzugriff anzumelden. Verschieben Sie dann Ihr Entwicklerzertifikat in die Anmeldung. Dies hat bei mir funktioniert.

Wüstenrose
quelle
1

Ich folgte einer ähnlichen Lösung wie @krafter, aber anstatt Zugriff auf alles im Systemschlüsselbund zu gewähren, musste ich dem Bereitstellungsprofil unter Schlüsselbund -> System -> "Ihr Bereitstellungsprofil" -> Informationen abrufen nur xcode hinzufügen -> Zugriffskontrolle dann gerade xcode hinzugefügt. Dies hat bei 4.6 funktioniert

SuperDave
quelle
0

Ja - Führen Sie XCode nur mit Administratorrechten aus. Es benötigt Administratorrechte, um eine ganze Reihe von Aufgaben, Installationen, Debug-Sitzungen usw. auszuführen.

Stavash
quelle
Wie kann ich die Xcode-Einstellungen so ändern, dass sie mit den Administrator-Voreinstellungen ausgeführt werden?
Singh
Ich meine, führen Sie es von einem Benutzer aus, der als Administrator definiert ist.
Stavash
0

Sind Sie sicher, dass dort "Mac OS X" steht und nichts mit Entwicklertools zu tun hat?

Es ist normal, dass Developer Tools den Developer Mode auf Ihrem Mac aktivieren möchte. Daher müssen Sie nicht jedes Mal ein Administratorkennwort eingeben, wenn Sie Ihre App nach jedem Xcode-Start zum ersten Mal im Simulator debuggen.

Wenn Sie den Entwicklermodus nicht aktiviert haben, als er von Xcode angeboten wurde, müssen Sie darauf vorbereitet sein, dass Xcode bei jedem ersten Start des Debuggens im Simulator nach jedem Xcode-Start nach einem Administratorkennwort fragt.

Aleksejs Mjaliks
quelle
Ja, es heißt MAC OS X und wenn ich den Build für den Simulator kompiliere, wird mir diese Meldung nicht angezeigt. Wenn ich ein Projekt auf dem Gerät ausführe, wird mir die Meldung angezeigt
Singh
Ich fand dieses Problem darin, Profile bereitzustellen. Ich habe alle vorherigen Provisioning-Profile gelöscht und dann eines neu installiert, das ich zur Lösung des Problems benötigte
Singh
Sie stimmen mit @developersaremad überein. Ich habe Lösung ... Danke
kb920
0

Sie müssen Ihren OSx-Benutzernamen zur _developerGruppe hinzufügen . Hat für mich gearbeitet.

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

Es scheint, dass Xcode die Teamauswahl nicht aktualisiert, sodass eine erneute Auswahl auf der Registerkarte "Allgemein" der gelösten Ziele das Problem gelöst hat.

Moran77
quelle
0

Die Einstellungen für die Zugriffssteuerung werden anscheinend nicht mehr für private Schlüssel gespeichert, die im Systemschlüsselbund gespeichert sind. Daher hat der Versuch, Xcode zur Whitelist hinzuzufügen, bei mir nicht funktioniert.

Um die Änderungen an der Zugriffssteuerung beizubehalten, musste ich den privaten Schlüssel + das Zertifikat in den Login-Schlüsselbund kopieren. Dies hielt Xcode davon ab, mich beim Signieren von Archiven zur Verteilung zu stören.

Beachten Sie, dass Xcode die Verteilung stoppt, wenn die Vertrauenseinstellungen des Zertifikats geändert werden (z. B. Immer Codesignatur zulassen). Sie müssen diese als Systemstandard festlegen.

Ich hoffe, es gibt eine bessere Lösung als diese, weil sich das nicht richtig anfühlt. Aber es funktioniert jetzt.

Nathan Hosselton
quelle