Mac OS X хочет использовать системную связку ключей при компиляции проекта

Меня просят ввести имя пользователя и пароль системного администратора, когда я компилирую свой проект XCode. Все сообщение

Mac OS X хочет внести изменения. Введите имя администратора и пароль, чтобы разрешить это. Mac OS X хочет использовать системную связку ключей.

У кого-нибудь есть решение для этого?

12 ответов

Решение

Я обнаружил, что проблема заключается в предоставлении профилей. Я удалил все предыдущие профили обеспечения и затем переустановил один, который мне был нужен.

  1. Открыть доступ к брелку.
  2. В верхнем левом углу разблокируйте брелок (если он заблокирован).
  3. Выберите системную связку ключей в верхнем левом углу.
  4. Найдите свой сертификат распространения и нажмите треугольник раскрытия.
  5. Дважды щелкните "Закрытый ключ" под своим сертификатом распространения.
  6. Во всплывающем окне перейдите на вкладку "Контроль доступа".
  7. Выберите "Разрешить всем приложениям доступ к этому элементу".
  8. Сохраните изменения.
  9. Закройте все окна.
  10. Запустите приложение.

Проблема в сертификате разработчика на связке ключей, который находится в разделе "Система" на левой панели, который всегда заблокирован и требует разблокировки моего пароля!

Так что просто переместите сертификат разработчика в "логин", который всегда разблокирован. Теперь ваша проблема решена.

  1. Открытый доступ к брелку

  2. Нажмите на систему в левой панели

  3. Разблокируйте системную цепочку для ключей вверху слева (если она заблокирована)

  4. Сортировать элементы системы по виду так, чтобы ключи находились сверху

  5. Ищите секретный ключ, который продолжает спрашивать пароль

  6. Дважды щелкните по нему и выберите Контроль доступа

  7. Выберите "Разрешить всем приложениям доступ к этому элементу"

  8. Сохраните изменения, заблокируйте системную связку ключей и выйдите из приложения связки ключей.

  9. Перезапустите приложение, которое постоянно просит изменить цепочку для ключей.

Я получил эту проблему, потому что у меня были дубликаты сертификатов в моем логине и системных брелках. Открыв Keychain Access и удалив все сертификаты из Системы, которые также входили в систему, решили эту проблему. Надеюсь это поможет.

Переместите свой закрытый ключ из системы для входа в систему доступа к цепочке ключей. Затем переместите сертификат разработчика в систему входа в систему. Это сработало для меня.

В моем случае я пошел к Доступу Цепочки для ключей, выбрал "систему" в "Цепочках для ключей" (верхний левый). Затем для каждого элемента: щелкните правой кнопкой мыши "Get Info", "Access Control" и добавьте Xcode в список "Всегда разрешать доступ этим приложениям:".

Параметры контроля доступа больше не сохраняются для закрытых ключей, которые хранятся в системной цепочке для ключей, поэтому попытка добавить Xcode в белый список у меня не сработала.

Чтобы сохранить изменения контроля доступа, мне пришлось скопировать закрытый ключ + сертификат в цепочку ключей входа. Благодаря этому Xcode не беспокоил меня, когда я подписывал архивы кода для распространения.

Обратите внимание, что Xcode остановит распространение, если параметры доверия сертификата изменены (например, всегда разрешать подпись кода); вы должны оставить их как Системные по умолчанию.

Я надеюсь, что есть лучшее решение, чем это, потому что это кажется неправильным. Но пока это работает.

Я следовал решению, аналогичному тому, что делал @krafter, но вместо предоставления доступа ко всему, что есть в системной цепочке для ключей, мне нужно было только добавить add xcode в профиль обеспечения под связкой ключей -> система -> "ваш профиль обеспечения" -> получить информацию -> Контроль доступа, а затем просто добавил Xcode. Это то, что работало на 4.6

Вам нужно добавить свое имя пользователя OSx в _developer группа. Работал на меня.

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

Да - запускать XCode только с правами администратора. Ему нужны права администратора для выполнения целого ряда задач, установок, отладочных сеансов и тому подобного.

Кажется, что XCode не обновляет выбор команды, поэтому выбор его снова на общей вкладке целей решил ее.

Вы уверены, что там написано "Mac OS X", а не что-то связанное с инструментами разработчика

Это нормально, если Developer Tools хочет включить Developer Mode на вашем Mac, поэтому вам не нужно вводить пароль администратора каждый раз, когда вы начинаете отлаживать свое приложение в симуляторе каждый раз после каждого запуска XCode.

Но если вы не включили режим разработчика, когда он предлагался XCode, будьте готовы, что XCode будет запрашивать пароль администратора при каждом первом запуске отладки в симуляторе после каждого запуска XCode.

Другие вопросы по тегам