Mac OS X хоче використовувати системний брелок під час компіляції проекту


92

Під час компіляції проекту Xcode мене просять ввести ім’я користувача та пароль адміністратора системи. Повідомлення ціле

Mac OS X хоче внести зміни. Введіть ім’я та пароль адміністратора, щоб дозволити це. Mac OS X хоче використовувати системний брелок.

Хтось має рішення для цього?

Відповіді:


242
  1. Відкрийте доступ до брелока.
  2. У верхньому лівому куті розблокуйте брелок (якщо він заблокований).
  3. Виберіть системний брелок у верхньому лівому куті.
  4. Знайдіть свій сертифікат розповсюдження та натисніть трикутник розкриття інформації.
  5. Двічі клацніть на "Приватний ключ" під сертифікатом розповсюдження.
  6. У спливаючому вікні перейдіть на вкладку Контроль доступу.
  7. Виберіть "Дозволити всім програмам доступ до цього елемента".
  8. Збережіть зміни.
  9. Закрийте всі вікна.
  10. Запустіть програму.

3
Я не знаходжу жодного випадаючого сертифіката розподілу. де це знайти?
Ananth Srinivasan

4
@AnanthSrinivasan, PVCS просто означає список облікових записів, перелічених у головному вікні. Двічі клацніть на акаунт, який змушує вас ввести ім'я адміністратора та пароль.
crazyDiamond

Це також єдиний хороший спосіб переконатися, що він працює на автоматизованому сервері збірки, не перериваючи облікові дані.
Ben Butzer

4
За цю відповідь ви заслуговуєте великого печива.
Miiite

1
Я виявив, що на El Capitan потрібно двічі клацнути приватні ключі, що відповідають формату yourhostname.domain.identity, а потім виконати кроки 6-8.
Jason D

22

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

Тож просто перемістіть Сертифікат розробника на «логін», який завжди розблоковано. Тепер ваша проблема вирішується.


1
Це мені допомогло, за винятком того, що я не зміг перенести брелок для входу. Однак видалення сертифіката із системного брелока вирішує цю проблему.
goelakash

Це підходить лише для побудови з графічного інтерфейсу Xcode, коли ви будуєте з CLI (як у середовищі CI), ключ і сертифікат повинні бути в системному брелоку.
RAM237

Чудово! працював у мене. Мій сертифікат знаходився в розділі "Система", перемістив його в "Вхід".
лал

У мене нічого не працювало, крім цього. Зверніть увагу, що я не міг його перемістити, мені довелося видалити і просто перетягнути сертифікат вручну, щоб "Увійти"
Лірик

7
  1. Відкрийте доступ до брелока

  2. Клацніть на Система на лівій панелі

  3. Розблокуйте брелок системи вгорі ліворуч (якщо він заблокований)

  4. Відсортуйте елементи системи за видом, щоб клавіші знаходились у верхній частині

  5. Шукайте приватний ключ, який постійно запитує пароль

  6. Двічі клацніть на ньому та виберіть Контроль доступу

  7. Виберіть "Дозволити всім програмам доступ до цього елемента"

  8. Збережіть зміни, заблокуйте системний брелок і закрийте програму Брелок

  9. Перезапустіть програму, яка постійно просить змінити ваш брелок


Як найкращу практику, для кроку 7 дозволяйте лише певні програми, до яких ви намагаєтесь надати доступ. Тому що безпека.
Mike Rapadas

1
Чим це відрізняється від відповіді, наданої роками раніше ?
grg

1
Коли я відповів на це, відповідь була віком 2 роки, і відповідь не спрацювала для мене, тому я записав кроки, які зробив, щоб він працював, отже, 5 голосів проти. Не приходьте сюди та оновлюйте його відповідь, тоді запитайте мене, чому моя інша .. Якби це було те саме, я впевнений, що всі б проголосували за нього, як і ви ..
emotality

1
Мені не вдається зберегти зміни на кроці 8. Я ввожу адміністраторський пропуск (запитує мене двічі), однак, коли я знову відкриваю ключ, зміни не були збережені! Чому це так?
Даніель

5

Я отримував цю проблему, оскільки в моїх логінах та системних брелоках були дублікати сертифікатів. Відкривши доступ до брелока та видаливши всі сертифікати із системи, які також були в системі, вирішили цю проблему. Сподіваюся, це допомагає.


Це підходить лише для побудови з графічного інтерфейсу Xcode, коли ви будуєте з CLI (як у середовищі CI), ключ і сертифікат повинні бути в системному брелоку. На одному Mac у мене така сама ситуація: дублікат входу в систему та системного брелока, і все працює просто чудово, але на іншому чомусь не ...
RAM237

3

Я виявив, що проблема полягає у наданні профілів. Я видалив усі попередні профілі підготовки, а потім перевстановив потрібний.


2

У моєму випадку я перейшов до Keychain Access, вибравши "system" у "Keychains" (угорі ліворуч). Потім для кожного елемента: клацніть правою кнопкою миші, "Отримати інформацію", "Контроль доступу" та додайте Xcode у список "Завжди дозволяти доступ за допомогою цих програм:".


2

Перемістіть свій приватний ключ із системи, щоб увійти в систему доступу до брелока. Потім перемістіть сертифікат розробника в систему для входу. Це спрацювало для мене.


1

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


0

Так - запустіть XCode лише з правами адміністратора. Йому потрібні права адміністратора для виконання цілого ряду завдань, інсталяцій, сеансів налагодження тощо.


як я можу змінити префікси xcode так, щоб він працював з адміністративними привілеями?
Сінгх,

Я маю на увазі запустити його від користувача, який визначений адміністратором.
Ставаш

0

Ви впевнені, що там написано "Mac OS X", а не щось, що стосується інструментів розробника?

Це нормально, якщо Інструменти розробника хочуть увімкнути режим розробника на вашому Mac, отже, вам не потрібно вводити пароль адміністратора кожного разу, коли ви починаєте налагоджувати програму в симуляторі кожен перший раз після кожного запуску Xcode.

Але якщо ви не ввімкнули режим розробника, коли це було запропоновано Xcode, будьте готові, що Xcode буде запитувати пароль адміністратора під час кожного першого запуску налагодження в симуляторі після кожного запуску Xcode.


так, там сказано MAC OS X, і коли я компілюю збірку для симулятора, він не показує мені цього повідомлення, і коли я запускаю будь-який проект на пристрої, він показує мені повідомлення
Сінгх,

Я виявив, що проблема полягає у наданні профілів. я видалив усі попередні профілі забезпечення, а потім перевстановив той, який мені потрібен для вирішення проблеми
Сінгх,

Я погоджуюсь з @developersaremad. Я отримав рішення ... Дякую
kb920,

0

Вам потрібно додати своє ім’я користувача OSx до _developerгрупи. Працював у мене.

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

0

Здається, Xcode не оновив вибір команди, тому вибравши його ще раз із загальної вкладки цілей це вирішило.


0

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

Для того, щоб зберегти зміни контролю доступу, мені довелося скопіювати приватний ключ + сертифікат у брелок входу. Це заважало Xcode турбувати мене під час підписання архівів для розповсюдження.

Зверніть увагу, що Xcode зупинить розповсюдження, якщо змінити налаштування довіри сертифіката (наприклад, Завжди дозволяти підпис коду); ви повинні тримати їх встановленими за замовчуванням.

Я сподіваюся, що є краще рішення, ніж це, тому що це не здається правильним. Але це працює поки.

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