Powtarzające się wyskakujące okienko: Xcode chce uzyskać dostęp do klucza „com.apple.dt.XcodeDeviceMonitor” w Twoim pęku kluczy

83

Zaczynając od MacOS Sierra, zacząłem okresowo otrzymywać to wyskakujące okienko z XCode, nawet po naciśnięciu „Zawsze zezwalaj”.

Popup

Próbowałem usunąć element „com.apple.dt.XcodeDeviceMonitor” z pęku kluczy. Spowoduje to ponowne wygenerowanie klucza, ale nie rozwiązuje problemu.

To otwarty temat dyskusji na forach Apple , ale wydaje się, że nikt nie ma rozwiązania.

Andrew Schreiber
źródło
Może prefekt się zawalił? Uruchom lsof i gdy pojawi się okno dialogowe, sprawdź, czy w Xcode są otwarte jakieś „podejrzane” pliki. Następnie zamknij Xcode, usuń plik i klucz i spróbuj ponownie.
Colin Barrett
1
Czy ktoś wie, dlaczego Apple w ogóle potrzebuje dostępu do tego klucza?
Florian

Odpowiedzi:

104

Publikowanie tego rozwiązania dla Xcode 8, ponieważ nikt inny nie ma:

  1. Otwórz dostęp do pęku kluczy.
  2. Wyszukaj XcodeDeviceMonitor.
  3. Przeciągnij element do pęku kluczy systemowych po lewej stronie.
  4. Wprowadź hasło administratora.

To w końcu to rozwiązuje.

malhal
źródło
1
Znacznie bezpieczniejsze niż wybranie opcji Zezwól wszystkim aplikacjom na dostęp do tego elementu . Dziękuję Ci.
Bob
2
To powinna być prawidłowa odpowiedź. To wyciszyło błąd nawet po ponownym uruchomieniu. Dzięki!!
Mike Critchley
@jjxtra XcodeDeviceMonitor nie pojawił się u mnie kilka pierwszych razy. Po prostu odrzucaj wyskakujące okienko (próbowałem odmówić / zezwolić / zawsze zezwalać) i ostatecznie się pojawi.
olivaresF
Mój problem został rozwiązany po wykonaniu tych czynności. Dzięki :)
Mohnish Hirudkar
77

otwórz [ dostęp do pęku kluczy ]> wpisz „ xcode ” w obszarze wyszukiwania> kliknij dwukrotnie [ com.apple.dt.XcodeDeviceMonitor ]> kliknij [ kontrola dostępu ]> wybierz pierwszą opcję [ zezwól wszystkim aplikacjom na dostęp do tego elementu ]

Nie zapomnij kliknąć Zapisz zmiany!

mam nadzieję, że to pomoże.

Stuknij opcję zezwalaj wszystkim aplikacjom na dostęp do tego elementu, a następnie stuknij opcję Zapisz zmiany

Linc
źródło
2
To nie zadziałało dla mnie. Wyskakujące okienko powróciło przy następnym ponownym uruchomieniu, a kontrola dostępu powróciła do „Potwierdź przed zezwoleniem na dostęp”. Xcode i XcodeDeviceMonitor i tak znajdują się na liście „Zawsze zezwalaj na dostęp tym aplikacjom”, więc nie powinno być konieczne, aby zezwolić na wszystkie aplikacje.
Jim Leask
To samo tutaj ... wyskakujące okienko ciągle wraca. Ktoś ma trwałe rozwiązanie?
ZS
1
Czy pamiętałeś, aby kliknąć przycisk „Zapisz zmiany” i wpisać hasło?
Hobbes the Tige
1
Kiedy szukam xcodew Keychain, nic nie znajduje, ale nadal widzę to okienko. 🤷🏻‍♂️
Clifton Labrum
1
Aktualizacja. Myślę, że jedynym rozwiązaniem, które trwale usuwa wyskakujące okienko, jest poniższe rozwiązanie autorstwa malhal ... od tego czasu nie widziałem wyskakującego okienka, nawet po ponownym uruchomieniu i celowym zawieszeniu mojej aplikacji z wyjątkiem tablicy poza granicami. Mimo to nauczyłem się czegoś z tej odpowiedzi do wykorzystania w przyszłości. Dzięki.
Mike Critchley
11

Poniższe działały dla mnie (z systemem macOS 10.12.1 i XCode 7.3).

Zauważ, że problem z innymi rozwiązaniami polega na tym, że działają one na (tymczasowym) wpisie pęku kluczy logowania, który jest usuwany po zamknięciu XCode, więc wydaje się, że rozwiązaniem jest utworzenie wpisu w pęku kluczy System.

Próbowałem użyć dostępu do pęku kluczy, aby przenieść wpis z loginu do pęku kluczy systemowych, ale nie udało się to z różnymi niejasnymi błędami (np. „Wystąpił błąd. Nie można dodać elementu do bieżącego pęku kluczy”)

Zamiast tego użyłem polecenia bezpieczeństwa, aby utworzyć nowy wpis w pęku kluczy System, który jest (prawie) identyczny z tymczasowym.

Jedyną różnicą jest hasło, którego nie mogłem wyodrębnić (i nie jestem pewien, czy jest ważne).

Otwórz Terminal, wklej i wykonaj następujące polecenie (po odpowiedniej edycji, jeśli XCode nie znajduje się w normalnej lokalizacji):

sudo security add-generic-password \
-s 'com.apple.dt.XcodeDeviceMonitor' \
-a session-token \
-p anyoldstring \
-T /Applications/Xcode.app \
-T /Applications/Xcode.app/Contents/Developer/Library/Xcode/Tools/XcodeDeviceMonitor \
/Library/Keychains/System.keychain

Zastrzeżenie - moim jedynym celem było zapobieżenie irytującemu alarmowi.
Nie mam pojęcia, czy to coś zepsuje.
Bawisz się pękiem kluczy System: co może pójść nie tak?

peegee123
źródło
1
To zadziałało, podczas gdy żadne inne rozwiązanie nie zadziałało. Musiałem nieznacznie zmodyfikować ścieżki plików, ponieważ mój Xcode znajduje się w folderze o nazwie Xcode, ale poza tym to zadziałało! Dzięki.
Andrew Smith
1

Zgłosiłem to do Apple jako błąd i po kilku sugestiach, takich samych jak niektóre z wymienionych tutaj, które nie działały, wróciły z następującymi rozwiązaniami, które zadziałały:

„Przepraszamy za problem. Zajmiemy się tym bardziej szczegółowo. W międzyczasie, jeśli nie potrzebujesz wskaźnika iCloud, możesz go tymczasowo wyłączyć, wykonując następujące czynności:

  1. Przejdź do Terminal.app.
  2. Wpisz to, aby włączyć domyślne
    ustawienia użytkownika, zapisuj com.apple.dt.Xcode iCloudGaugeDisabled -bool TAK
  3. Uruchom ponownie Xcode ”
Easiwriter
źródło
0

Ten problem ponownie pojawił się u mnie tej jesieni zeszłej jesieni. Myślę, że problem może wynikać z luki w zabezpieczeniach, którą miał Apple, gdzie konto użytkownika root nie było chronione hasłem. Zresetowałem hasło do konta użytkownika root (na to samo hasło, które było wcześniej). Nie zauważyłem wtedy związku, ale po przeczytaniu tego elementu pomocy podejrzewałem, że może to być problem.

https://support.apple.com/en-us/HT201609

Zresetowałem hasło do pęku kluczy logowania (ponownie na to samo hasło), wykonując te czynności i problem zniknął.

Mam nadzieję że to pomoże.

johnrechd
źródło