Повторне спливаюче вікно: Xcode хоче отримати доступ до ключа “com.apple.dt.XcodeDeviceMonitor” у вашому ланцюжку ключів


83

Починаючи з MacOS Sierra, я почав періодично отримувати це спливаюче вікно з XCode, навіть після натискання кнопки «Завжди дозволяти».

Вискочити

Я спробував видалити елемент "com.apple.dt.XcodeDeviceMonitor" у брелоку. Це відновлює ключ, але не вирішує проблему.

Це відкрита тема для обговорення на форумах Apple , але, схоже, ніхто не має рішення.


Може, преф заплутався? Запустіть lsof, і під час спливаючого діалогового вікна перевірте, чи є у Xcode відкриті файли з підозрілим виглядом. Потім закрийте Xcode, видаліть файл і ключ і повторіть спробу.
— Колін Барретт

1
Хтось знає, навіщо Apple взагалі потребує доступу до цього ключа?
— Флоріан

Відповіді:


104

Опублікування цього рішення для Xcode 8, оскільки ні в кого іншого немає:

  1. Відкрийте доступ до брелока.
  2. Шукайте XcodeDeviceMonitor.
  3. Перетягніть елемент до системного брелока зліва.
  4. Введіть пароль адміністратора.

Це нарешті це виправляє.


1
Набагато безпечніше, ніж вибрати Дозволити всім програмам доступ до цього елемента . Дякую.
— Боб,

2
Це повинна бути правильна відповідь. Це приглушило помилку навіть після перезапуску. Дякую!!
— Mike Critchley

@jjxtra XcodeDeviceMonitor не з'являвся для мене перші кілька разів. Просто продовжуйте відкидати спливаюче вікно (я намагався заборонити / дозволити / завжди дозволити), і воно врешті з’явиться.
— olivaresF

Мою проблему було вирішено після виконання цих кроків. Дякую :)
— Mohnish Hirudkar

77

відкрийте [ доступ до брелока ]> введіть " xcode " в області пошуку> двічі клацніть [ com.apple.dt.XcodeDeviceMonitor ]> клацніть [ контроль доступу ]> виберіть перший параметр [ дозволити всім програмам доступ до цього елемента ]

Не забудьте натиснути Зберегти зміни!

сподіваюся, це допоможе.

Торкніться дозволити всім програмам доступ до цього елемента, а потім натисніть Зберегти зміни


2
Це не спрацювало для мене. Спливаюче вікно повернулось під час наступного перезапуску, і Контроль доступу повернувся до пункту "Підтвердити перед наданням доступу". Xcode та XcodeDeviceMonitor все одно перебувають у списку "Завжди дозволяти доступ цим програмам", тому він не повинен був потрібний для дозволу всіх програм.
— Jim Leask,

Те саме тут ... спливаюче вікно постійно повертається. Хто має постійне рішення?
— ZS

1
Ви пам’ятали натиснути кнопку «Зберегти зміни» та ввести свій пароль?
— Гоббс Тіге

1
Коли я шукаю xcodeв Keychain, він ще нічого не знаходить, я все ще отримую це спливаюче вікно. 🤷🏻‍♂️
— Кліфтон

1
Оновлення. Я думаю, що єдиним рішенням, яке назавжди позбудеться спливаючого вікна, є наведене нижче рішення malhal ... Я не бачив спливаючого вікна, оскільки навіть після перезапуску та навмисного збою мого додатка з масивом поза межами винятку. Тим не менше, навчився чогось із цієї відповіді для подальшого використання. Дякую.
— Mike Critchley

11

У мене працювало наступне (запуск macOS 10.12.1 та XCode 7.3).

Зауважте, що проблема з іншими рішеннями полягає в тому, що вони працюють із (тимчасовим) записом брелока для входу, який видаляється після виходу XCode, тож, схоже, рішенням є створення запису в системному брелоку.

Я спробував скористатися Доступом до брелока, щоб перемістити запис із логіну в Системний брелок, але він не вдався з різними незрозумілими помилками (наприклад, "Сталася помилка. Неможливо додати елемент до поточного брелока")

Натомість я використав команду безпеки, щоб створити новий запис у системному брелоку, який (майже) ідентичний тимчасовому.

Єдина відмінність - це пароль, який я не міг би турбувати (і я не впевнений, що це важливо).

Відкрийте термінал, вставте та виконайте таку команду (після відповідного редагування, якщо XCode знаходиться не в звичайному місці):

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

Застереження - моєю єдиною метою тут було запобігти настирливому оповіщенню.
Я не уявляю, чи це щось зламає.
Ви возитесь із системним брелоком: що може піти не так?


1
Це спрацювало, тоді як жодне інше рішення не допомогло. Мені довелося трохи змінити шляхи до файлів, оскільки мій Xcode знаходиться в папці під назвою Xcode, але в іншому випадку це вдалося! Дякую.
— Ендрю Сміт

1

Я повідомив про це Apple як помилку, і після кількох пропозицій, таких самих, як і деякі згадані тут, які не спрацювали, вони повернулись із наступним, що спрацювало:

"Вибачте за біду. Ми ще трохи розберемося в цьому. Тим часом, якщо вам не потрібен датчик iCloud, ви можете тимчасово вимкнути його, виконавши наступне:

  1. Перейдіть до Terminal.app.
  2. Введіть це, щоб за замовчуванням користувач
    писав com.apple.dt.Xcode iCloudGaugeDisabled -bool ТАК
  3. Перезапустити Xcode "

0

Ця проблема знову з’явилася для мене минулої осені. Я думаю, що проблема може виникати через діру в безпеці, яку мав Apple, де обліковий запис кореневого користувача не захищений паролем. Я скинув свій пароль для кореневого облікового запису користувача (до того самого пароля, що був раніше). Тоді я не помічав стосунків, але, прочитавши цей пункт підтримки, я підозрював, що це може бути проблемою.

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

Я скидаю свій пароль для брелока для входу (знову до того самого пароля), виконуючи ці дії, і проблема з тих пір зникла.

Сподіваюся, це допомагає.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.