Mac OS X chce użyć pęku kluczy systemowych podczas kompilowania projektu


93

Podczas kompilacji projektu Xcode jestem proszony o wpisanie nazwy użytkownika i hasła administratora systemu. Cała wiadomość jest

Mac OS X chce wprowadzić zmiany. Wpisz nazwę i hasło administratora, aby to umożliwić. Mac OS X chce używać pęku kluczy systemowych.

Czy ktoś ma na to rozwiązanie?

Odpowiedzi:


247
  1. Otwórz dostęp do pęku kluczy.
  2. W lewym górnym rogu odblokuj pęku kluczy (jeśli jest zablokowany).
  3. Wybierz pęku kluczy System w lewym górnym rogu.
  4. Znajdź swój certyfikat dystrybucji i kliknij trójkąt ujawnienia.
  5. Kliknij dwukrotnie „Klucz prywatny” pod certyfikatem dystrybucyjnym.
  6. W wyskakującym okienku przejdź do zakładki Kontrola dostępu.
  7. Wybierz opcję „Zezwalaj wszystkim aplikacjom na dostęp do tego elementu”.
  8. Zapisz zmiany.
  9. Zamknij wszystkie okna.
  10. Uruchom aplikację.

3
Nie znajduję listy rozwijanej certyfikatu dystrybucji. gdzie to znaleźć?
Ananth Srinivasan,

4
@AnanthSrinivasan, PVCS oznacza po prostu listę kont wymienionych w głównym oknie. Kliknij dwukrotnie konto, które zmusza Cię do wprowadzenia nazwy administratora i hasła.
crazyDiamond

Jest to również jedyny dobry sposób, aby upewnić się, że działa na zautomatyzowanym serwerze kompilacji bez przerywania w poszukiwaniu poświadczeń.
Ben Butzer

4
Zasługujesz na ciastko z dużym tyłkiem za tę odpowiedź.
Miiite

1
Zauważyłem, że w El Capitan musisz dwukrotnie kliknąć klucze prywatne, które pasują do formatu twoja_nazwa_hosta.domena.identyfikacja, a następnie wykonać kroki 6-8.
Jason D

22

Problem jest z certyfikatem dewelopera na pęku kluczy, który znajduje się w sekcji „System” na lewym panelu, który jest zawsze zablokowany i wymaga mojego hasła do odblokowania!

Po prostu przenieś Certyfikat dewelopera na „login”, który jest zawsze odblokowany. Teraz twój problem zostanie rozwiązany.


1
Pomogło mi to, poza tym, że nie mogłem przenieść pęku kluczy do „logowania”. Jednak moim zdaniem usunięcie certyfikatu z pęku kluczy Systemu rozwiązuje ten problem.
goelakash

Jest to odpowiednie tylko do budowania z Xcode GUI, gdy tworzysz z CLI (jak w środowisku CI), klucz i certyfikat muszą znajdować się w pęku kluczy systemu.
RAM237

Świetny! pracował dla mnie. Mój certyfikat znajdował się w „Systemie”, przeniesiono go do „Logowanie”.
lal

Nic nie działało dla mnie oprócz tego. Zauważ, że nie mogłem go przenieść, musiałem usunąć i po prostu przeciągnąć certyfikat ręcznie do "Login"
Lirik

7
  1. Otwórz dostęp do pęku kluczy

  2. Kliknij System w lewym okienku

  3. Odblokuj pęku kluczy systemowych w lewym górnym rogu (jeśli jest zablokowany)

  4. Posortuj elementy systemowe według rodzaju, tak aby klawisze znajdowały się na górze

  5. Poszukaj klucza prywatnego, który ciągle pyta o hasło

  6. Kliknij go dwukrotnie i wybierz Kontrola dostępu

  7. Wybierz „Zezwól wszystkim aplikacjom na dostęp do tego elementu”

  8. Zapisz zmiany, zablokuj pęku kluczy systemowych i zamknij aplikację Pęk kluczy

  9. Uruchom ponownie aplikację, która ciągle prosi o zmodyfikowanie pęku kluczy


Zgodnie z najlepszą praktyką w kroku 7 zezwalaj tylko na określone aplikacje, do których próbujesz udzielić dostępu. Ponieważ bezpieczeństwo.
Mike Rapadas

1
Czym różni się to od odpowiedzi udzielonej przed laty ?
grg

1
Kiedy odpowiedziałem, odpowiedź miała 2 lata, a odpowiedź nie zadziałała dla mnie, więc zapisałem kroki, które podjąłem, aby to zadziałało, stąd 5 głosów za. Nie przychodź tutaj i nie aktualizuj jego odpowiedzi, a potem zapytaj mnie, dlaczego moja jest inna .. Gdyby była taka sama, jestem pewien, że każdy by go zlekceważył tak jak ty ..
emocje

1
Nie udało mi się zapisać zmian w kroku 8. Wprowadzam hasło administratora (pyta mnie dwukrotnie), jednak po ponownym otwarciu klucza zmiany nie zostały zapisane! Dlaczego tak jest?
Danijel

5

Pojawił się ten problem, ponieważ miałem zduplikowane certyfikaty w moim logu i pęku kluczy systemu. Otwarcie Dostępu do pęku kluczy i usunięcie wszystkich certyfikatów z systemu, które również były zalogowane, rozwiązało ten problem. Mam nadzieję że to pomoże.


Jest to odpowiednie tylko do budowania z Xcode GUI, gdy tworzysz z CLI (jak w środowisku CI), klucz i certyfikat muszą znajdować się w pęku kluczy systemu. Na jednym Macu mam tę samą sytuację: zduplikowany w logowaniu i pęku kluczy systemowych i wszystko działa dobrze, ale z jakiegoś powodu nie na innym ...
RAM237

3

Okazało się, że problem dotyczy profili obsługi administracyjnej. Usunąłem wszystkie poprzednie profile udostępniania, a następnie ponownie zainstalowałem jeden, którego potrzebowałem.


2

W moim przypadku poszedłem do Keychain Access, wybrałem "system" w "Keychains" (na górze po lewej). Następnie dla każdego elementu: kliknij prawym przyciskiem myszy, „Uzyskaj informacje”, „Kontrola dostępu” i dodaj Xcode na liście „Zawsze zezwalaj na dostęp dla tych aplikacji:”.


2

Przenieś swój klucz prywatny z systemu, aby zalogować się w dostępie do pęku kluczy, a następnie przenieś swój certyfikat programisty do logowania. To zadziałało dla mnie.


1

Zastosowałem rozwiązanie podobne do tego, które zrobił @krafter, ale zamiast dawać dostęp do wszystkiego w pęku kluczy systemu, potrzebowałem tylko dodać kod xcode do profilu aprowizacji w pęku kluczy -> system -> „Twój profil prowizyjny” -> uzyskaj informacje -> Kontrola dostępu, a następnie właśnie dodano xcode. To właśnie działało w przypadku wersji 4.6


0

Tak - uruchamiaj XCode tylko z uprawnieniami administratora. Potrzebuje uprawnień administratora do wykonywania całej masy zadań, instalacji, sesji debugowania i tym podobnych.


Jak mogę zmienić ustawienia Xcode, aby działał z ustawieniami administratora?
Singh,

Mam na myśli, uruchom go od użytkownika, który jest zdefiniowany jako administrator.
Stavash

0

Czy na pewno jest napisane „Mac OS X”, a nie coś związanego z narzędziami programistycznymi?

To normalne, że Narzędzia programistyczne chcą włączyć tryb programisty na komputerze Mac, dlatego nie musisz wprowadzać hasła administratora za każdym razem, gdy zaczynasz debugować aplikację w symulatorze po raz pierwszy po każdym uruchomieniu Xcode.

Ale jeśli nie masz włączonego trybu programisty, gdy był oferowany przez Xcode, przygotuj się, że Xcode zapyta o hasło administratora przy każdym pierwszym uruchomieniu debugowania w symulatorze po każdym uruchomieniu Xcode.


tak, mówi MAC OS X i kiedy kompiluję kompilację dla symulatora, nie wyświetla mi tego komunikatu, a kiedy uruchamiam dowolny projekt na urządzeniu, wyświetla mi się komunikat
Singh

stwierdziłem, że problem dotyczy profili obsługi administracyjnej. usunąłem wszystkie poprzednie profile obsługi administracyjnej, a następnie ponownie zainstalowałem jeden, którego potrzebowałem, aby rozwiązać problem
Singh,

Zgadzam się z @developersaremad. Mam rozwiązanie ... Dzięki
kb920

0

Musisz dodać swoją nazwę użytkownika OSx do _developergrupy. Pracował dla mnie.

sudo dscl . append /Groups/_developer GroupMembership <username>

0

Wygląda na to, że Xcode nie odświeża wyboru drużyny, więc wybranie go ponownie z ogólnej zakładki celów rozwiązało problem.


0

Ustawienia kontroli dostępu nie wydają się już zapisywać dla kluczy prywatnych, które są przechowywane w pęku kluczy System, więc próba dodania Xcode do białej listy nie zadziałała.

Aby zachować zmiany kontroli dostępu, musiałem skopiować klucz prywatny + certyfikat do pęku kluczy logowania. Dzięki temu Xcode nie przeszkadzał mi podczas podpisywania kodu archiwów do dystrybucji.

Zwróć uwagę, że Xcode zatrzyma dystrybucję, jeśli ustawienia zaufania certyfikatu zostaną zmienione (np. Zawsze zezwalaj na podpisywanie kodu); Państwo musi przechowywać te ustawić domyślny system.

Mam nadzieję, że istnieje lepsze rozwiązanie niż to, ponieważ nie wydaje się to właściwe. Ale na razie działa.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.