Xcode "На цьому mac приватний ключ не встановлений - розповсюдження"


99

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

Ось малюнок повідомлення:

картина

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

Відповіді:


90

Спробуйте виконати наступні дії:

  1. Анулюйте наявний сертифікат розповсюдження iOS з веб-сайту розробника iOS.
  2. Створіть новий сертифікат розповсюдження iOS, перейшовши до Настройки XCode-> Облікові записи-> Переглянути деталі, а потім клацніть + під списком підписів ідентифікаторів.
  3. Поверніться на веб-сайт розробника та переконайтеся, що всі ваші профілі забезпечення налаштовані за допомогою нового сертифіката. (Усі вони повинні бути зазначені як Активні, коли ви закінчите.)
  4. Поверніться до XCode та оновіть список профілів надання.

У мене було те саме питання, що і у вас, і це вирішило це просто чудово.


Дякую, ваше рішення врятувало мій день (я проклинав Apple від 4 годин).
JJ86

Я зіткнувся з тією самою проблемою, і кроки, запропоновані вище, вирішують її, але зараз я стикаюся з іншою, під час перевірки програми "пакет недійсних нових додатків, а оновлення, подані в магазин додатків, повинні бути загальнодоступними", може хто-небудь допоможе це?
Maystro

Багато людей вже задавали це питання: stackoverflow.com / ...
Бен Visness

@Fabian Boulegue Я думаю, що голоси означають, що це найкраща відповідь. Якщо ви могли б позначити це як прийняте, це було б чудово :)
Бен Віснес

Це слід позначити як відповідь. Це працює як чарівність
batgun

50

Це вирішило це для мене, не починаючи все з нуля:
1. Відкрийте доступ до брелка на машині, яка використовувалася для генерації приватних ключів
2. Виберіть Брелки-> Логін та Категорія-> Сертифікати зліва.
3. Знайдіть два сертифікати iPhone Developer: [ім'я розробника] та розповсюдження iPhone: [ваше ім’я розробника]
4. Виберіть обидва, клацніть правою кнопкою миші та виберіть Експорт 2 елементів ...
5. Введіть обраний пароль, збережіть на диску та отримайте .p12 -файл
перейдіть на іншу машину, яка не підпишеться 6. Відкрийте файл, введіть пароль і вам слід пройти.


8
Що робити, якщо у мене більше немає доступу до машини, яка створює приватні ключі?
aaronsnoswell

2
@aaronsnoswell Вам потрібно створити нові ключі для машини, над якою ви зараз працюєте
Nik

Тоді вам доведеться генерувати нове.
HelloWorld

Після імпорту приватного ключа до моєї брелок, він все ще не працював для мене. Однак просте перезавантаження змусило його працювати ...;)
fredpi

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

15

Маючи подібну проблему, після декількох днів тестування, перевірки, спроби ремонту тощо, те, що для мене спрацювало, було просто:

  1. Відкрити налаштування Xcode (панель облікових записів)
  2. Клацніть на "Керувати сертифікатами".
  3. Додайте новий сертифікат.

Потім все почало працювати знову.

введіть тут опис зображення


12

Я також пережив це і боровся з процесом 4 години. нарешті я зробив наступне

  1. Видалено всі приватні та відкриті ключі та сертифікати в моєму доступі до брелоків
  2. Видалено всі профілі надання
  3. Видалено всі програми AppID - (Мабуть, не потрібно було цього робити, хотів чистий аркуш)
  4. Видалено мої сертифікати на сайті Developer.Apple
  5. Створено новий профіль розвитку Wildcard
  6. Створено новий профіль SPECIFIC для програми, яку я розгортав (Отже, вона мала назву програми замість * у AppID)
  7. Створено новий веб-сертифікат на розробку.
  8. Завантажили проміжний сертифікат (Worldwide Developer Certificate Authority), оскільки я також викреслив його зі свого брелка
  9. Створив запит на підписання сертифікації (CSR), дотримуючись інструкцій до листа, щоб додати його до мого доступу до брелоків. і завантажив CSR.
  10. Як тільки Сертифікація була додана, я переконався перейменувати загальнодоступні та приватні ключі та додав коментарі до інформаційного поля - щоб я міг запам'ятати, що я робив.
  11. Створив новий сертифікат дистрибуції, повторивши кроки 7,9, 10 для дистрибуції, щоб я міг перенести його в App Store.

Сподіваючись, це допомагає комусь зрозуміти, що ви можете все витерти і почати спочатку. Я завантажив усі серти на MacBook Pro olf, який почав лущитися минулого тижня. Тому я отримав новий Mac Air минулого тижня, але я не міг запам’ятати, які ключі, і я точно не пам’ятав, що у мене було 2 набори приватного та публічного для розвитку та 1 для дистрибуції. (Якщо у вас більше 1 дистрибуції, я вважаю, у вас були б додаткові набори.)

Стів


Я пам’ятаю, що успішно пройшов це в XCode 4. Чи знаєте ви, як видалити всі профілі забезпечення (крок 2) у XCode 5?
Денні

1
Перш ніж хтось пройде кроки 1-4 для видалення, було б доцільно спробувати експортувати сертифікат через KeychainAccess, як зазначено в одному з коментарів нижче, а потім імпортувати їх на вашу цільову машину.
andrewz

4
Яке рішення. Чи варто купувати новий ноутбук?
перерва

5

Зіткнувся з тим самим випуском і, проклявши в Apple, я зрозумів, що це моя вина.

1.- Go to developer.apple.com / Certificates / Production
2.- Download your certificate

Це спрацювало для мене спасибі після спроб інших відповідей.


завантажили сертифікат і додали його до доступу до брелка. Але не працює.
famfamfam

4

Варто перевірити в Keychain Access, щоб переконатися, що у вас немає декількох клавіш з одним іменем. Крім того, дуже часто, коли я стикаюся з проблемами підпису коду, рішенням fastes було запускати процес заново (створювати нові ключові пари, сертифікати та профілі забезпечення).

Удачі!


4

Перейдіть до Налаштування -> Облікові записи -> Виберіть ідентифікатор Apple, який ви використовуєте -> натисніть кнопку "Переглянути деталі ..." -> потім натисніть кнопку плюс і виберіть кнопку "Розподіл iOS". Детальніше тут .


3

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


Я вірю, що ви також можете завантажити його з програми. портал
El Guapo

Ну звичайно я просто розвиваюся з цього комп'ютера ... ну я також отримав сертифікат розробника та розповсюджувача, можливо, це щось інше? Так само, як інформація тут - скріншот мого профілю ... dl.dropbox.com/u/659484/pic%202.png
Fabian Boulegue

6
Ні, ви не можете завантажити приватний ключ з порталу забезпечення. Це приватне. Ви не даєте його Apple.
Джим

2
Сертифікат - це файл, який Apple дає вам, що говорить "Так, цей приватний ключ схвалений Apple". Сам ключ окремий. У вас немає ключа на цьому комп’ютері, інакше поруч буде стрілка розкриття інформації. У вас, мабуть, був ключ у якийсь момент, щоб сертифікат існував. Якщо ви не користуєтесь іншими комп’ютерами, і у вас його не встановлено в іншому обліковому записі на вашому комп’ютері, його потрібно видалити.
Джим

2
Якщо у вас немає приватного ключа і ви не можете відновити його з резервної копії, вам доведеться створити нову пару ключів, створити для нього CSR, завантажити CSR в apple, завантажити новий сертифікат, який Apple генерує у відповідь , створіть новий профіль надання дистрибуції та використовуйте цей профіль для створення програми. В основному дотримуйтесь інструкцій із налаштування, які Apple дає вам на початку.
Джим

2

Це просто, увійдіть в обліковий запис користувача (можливо, на різних Mac), який був використаний для створення сертифіката розповсюдження. Відкрийте Keychain Access та експортуйте їх приватний ключ. Потім встановіть його на свій брелок.


2

Моя проблема полягала в тому, що Xcode не був у списку контролю доступу для приватного ключа. Ви можете це виправити в доступі до брелоку без створення нової пари ключів.

Відкрийте доступ до брелоків. Ліворуч виберіть логін та Мої сертифікати. Виберіть сертифікат розповсюдження та двічі клацніть приватний ключ. Виберіть контроль доступу та додайте Xcode до списку, якщо його немає.

Перезавантажте Xcode та створіть новий архів. Зараз слід знайти приватний ключ.


1

Я насправді просто закрив і знову відкрив xCode, і тоді все повернулося до норми.


0

У мене є рішення:

У вашій компанії є компанії (Enterprise Distribution) .pem та CompanyEnterpriseDistribution.p12, ви також повинні встановити їх.


0

У мене є яблучний рахунок компанії. Я вирішив проблему:

1) на веб-сайті розробника Сертифікати, ідентифікатори та профілі
2) у розділі Надання профілів -> розробка
3) перейшов до моєї розробки Забезпечення -> редагувати
4), потім завантажимо та двічі клацніть.


0

Спробуйте це..

  • У розділі "Налаштування системи" виберіть "Безпека та конфіденційність".

  • Клацніть піктограму «Блокування» у лівому нижньому куті.

  • Змініть "Дозволити завантажену програму" з "Anywhere" на "Mac App Store та визначені розробники".

-Тоді спробуйте побудувати.


0

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

Xcode зробить все інше і дозволить вам запустити додаток.

Ура!


0

Для мене це те, що я не встановив свій сертифікат виробництва. (Я вже встановив сертифікат розвитку, який)

Після завантаження виробничого сертифіката та встановлення на брелок, він працював у мене.


0

Це вирішило це для мене, не починаючи все з нуля:

  1. відновити файл "CertificateSigningRequest.certSigningRequest" іншим macbook.
  2. відновити сертифікати " * Grid Information Technology Co., Ltd"
  3. відновити надані профілі

0

Я будую та розповсюджую розробники ipa для свого додатка бета-iOS. Мені неодноразово доводилося додавати нові пристрої до списку дозволених, і в мене було створено багато неприємностей. Цього разу я документую та поділяюся такою проблемою та рішенням ...

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

Тоді я не міг створити інший архів. Далі, це створило помилки підпису коду при спробі побудови проекту.

Після сильного болю я виправив це так:

У XCode перейдіть до розділу Налаштування ... Вкладка облікового запису. Клацніть на кнопці додати (ліворуч зліва) та виберіть "Розробка iOS". Це створить нову особу підпису.

Тепер ви зможете використовувати новий профіль надання для створення архіву.

Також слід виправити помилки збирання. Повернувшись до проекту, на вкладці "Загальні", виберіть "команду" та повторіть сборку. Можливо, є деякі додаткові діалогові вікна дозволів. Натисніть "виправити" або "завжди дозволяти", коли буде запропоновано.

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


0

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

працював як шарм


0

У мене є ще одна відповідь (крім попередньої публікації). Сьогодні мій приватний ключ закінчився (як я виявив перегляд KeyChain Access), і в списку з’явився новий. Як? Idk ... Можливо, за допомогою кнопки "Виправити проблему" XCode мені було представлено, або натиснувши оновлення для забезпечення профілів, як я описав у своєму іншому дописі, новий автоматично створився? ...

У будь-якому разі я зайшов у центр розвитку, знайшов профіль резервування, який хотів використати, і натиснув "редагувати". Тоді мені вдалося вибрати "Сертифікати". Я виявив, що той, кого шукають, не був обраний. Я вибрав його і натиснув "Створити", щоб відтворити профіль резервування. Тоді я зміг її завантажити. Я перетягнув файл і перекинув його на значок док-станції XCode. Це виправило!


-2

це станеться тому, що ви відформатували свій mac та перевстановите його або ви переробите з нового mac.

якщо ви не можете зробити вищезазначене, а ваш старий сертифікат та профілі експортуються зі старого Mac

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

тоді вам доведеться створити нові та створити нові профілі надання додатків, які потрібно завантажити в Apple.

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

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