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?
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.
źródło
Otwórz dostęp do pęku kluczy
Kliknij System w lewym okienku
Odblokuj pęku kluczy systemowych w lewym górnym rogu (jeśli jest zablokowany)
Posortuj elementy systemowe według rodzaju, tak aby klawisze znajdowały się na górze
Poszukaj klucza prywatnego, który ciągle pyta o hasło
Kliknij go dwukrotnie i wybierz Kontrola dostępu
Wybierz „Zezwól wszystkim aplikacjom na dostęp do tego elementu”
Zapisz zmiany, zablokuj pęku kluczy systemowych i zamknij aplikację Pęk kluczy
Uruchom ponownie aplikację, która ciągle prosi o zmodyfikowanie pęku kluczy
źródło
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.
źródło
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.
źródło
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:”.
źródło
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.
źródło
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
źródło
Tak - uruchamiaj XCode tylko z uprawnieniami administratora. Potrzebuje uprawnień administratora do wykonywania całej masy zadań, instalacji, sesji debugowania i tym podobnych.
źródło
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.
źródło
Musisz dodać swoją nazwę użytkownika OSx do
_developer
grupy. Pracował dla mnie.sudo dscl . append /Groups/_developer GroupMembership <username>
źródło
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.
źródło
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.
źródło