Xcode «Закрытый ключ для не установлен на этом Mac - распространение»

99

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

Вот изображение сообщения:

картина

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

Фабиан Булеге
источник

Ответы:

90

Попробуйте выполнить следующие действия:

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

У меня была та же проблема, что и у вас, и это решило ее отлично.

Бен Виснесс
источник
Спасибо, ваше решение спасло мне день (я ругал Apple с 4 часов).
JJ86 07
У меня та же проблема, и шаги, предложенные выше, исправляют ее, но сейчас я сталкиваюсь с другой, проверяя приложение: «Пакет недействителен, новые приложения и обновления, отправленные в магазин приложений, должны быть общедоступными», может ли кто-нибудь помочь этот?
Maystro
Многие уже задавали этот вопрос: stackoverflow.com/…
Бен Виснесс
@Fabian Boulegue Я думаю, голоса показывают, что это лучший ответ. Если бы вы могли отметить это как принятый, это было бы здорово :)
Бен Виснесс
Это должно быть отмечено как ответ. это работает как шарм
Batgun
50

Это решило проблему для меня, не начав с нуля:
1. Откройте Keychain Access на машине, которая использовалась для генерации закрытых ключей
2. Выберите Keychains-> Login и Category-> Certificates слева
3. Найдите файл два сертификата iPhone Developer: [ваше имя разработчика] и iPhone Distribution: [ваше имя разработчика]
4. Выберите оба, щелкните правой кнопкой мыши и выберите Export 2 items ...
5. Введите пароль по выбору, сохраните на диск и получите .p12 -файл на другую машину, которая не будет подписывать
6. Откройте файл, введите пароль, и все будет в порядке.

Kentrh
источник
8
Что делать, если у меня больше нет доступа к машине, которая сгенерировала закрытые ключи?
aaronsnoswell
2
@aaronsnoswell Вам нужно сгенерировать новые ключи для машины, над которой вы сейчас работаете
Ник
Затем вам нужно создать новый.
HelloWorld
После импорта закрытого ключа в мою связку ключей он все еще не работал у меня. Однако простая перезагрузка заставила его работать ...;)
fredpi
7. Перезагрузите машину. Похоже, он не увидел новый закрытый ключ в Связке ключей, если я не перезагрузился. Я предполагаю, что это потому, что вы добавляете его в цепочку ключей входа, которая должна загружаться при входе в систему?
TenaciousJay,
14

Имея аналогичную проблему, после нескольких дней тестирования, проверки, попытки ремонта и т. Д. У меня сработало просто:

  1. Откройте настройки Xcode (панель учетных записей)
  2. Щелкните «Управление сертификатами».
  3. Добавьте новый сертификат.

Потом все снова заработало.

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

Cue
источник
12

Я тоже испытал это и боролся с процессом 4 часа. наконец я сделал следующее

  1. Удалены все закрытые и открытые ключи и сертификаты в моем доступе к связке ключей
  2. Удалены все профили подготовки.
  3. Удалены все AppID - (Вероятно, не нужно было этого делать, мне нужен был чистый лист)
  4. Удалил свои сертификаты на сайте Developer.Apple
  5. Создан новый профиль разработки подстановочных знаков
  6. Создан новый профиль, КОНКРЕТНЫЙ для приложения, которое я развертывал (так что в AppID было имя приложения вместо *)
  7. Создан новый Сертификат разработки с Веб-сайта.
  8. Загрузил промежуточный сертификат (всемирный центр сертификации по связям с разработчиками), так как я тоже стер его со своей связки ключей
  9. Создал запрос на подпись сертификата (CSR), следовал инструкциям в письме, чтобы добавить его в мой доступ к цепочке ключей. и загрузил CSR.
  10. После добавления сертификата я обязательно переименовал открытый и закрытый ключи и добавил комментарии в информационное окно, чтобы я мог вспомнить, что делал.
  11. Создал новый сертификат распространения, повторив шаги 7, 9, 10 для распространения, чтобы я мог разместить его в App Store.

Надеюсь, это поможет кому-то узнать, что вы можете стереть все и начать заново. Я загрузил все сертификаты на olf Macbook Pro, который на прошлой неделе начал отслаиваться. Итак, на прошлой неделе у меня появился новый Mac Air, но я не помнил, какие ключи, и уж точно не помню, что у меня было 2 набора частных и общедоступных, один для разработки и один для распространения. (Если у вас более одного дистрибутива, я думаю, у вас будут дополнительные наборы.)

Стив

SESPROUL
источник
Я помню, как успешно прошел через это в XCode 4. Вы знаете, как удалить все профили обеспечения (шаг 2) в XCode 5?
Дэнни
1
Прежде чем кто-либо выполнит шаги 1–4 «удаления», рекомендуется попытаться экспортировать сертификат через KeychainAccess, как указано в одном из комментариев ниже, а затем импортировать их на целевой компьютер.
andrewz 05
4
Какое решение. Стоит ли мне покупать и новый ноутбук?
breakline
5

Заглянул в ту же проблему и, проклиная Apple, понял, что это моя вина.

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

Это сработало для меня, спасибо после попытки других ответов.

Алекс Ноласко
источник
скачал сертификат и добавил его в цепочку ключей. Но не работает.
famfamfam
4

Стоит проверить Доступ к Связке ключей, чтобы убедиться, что у вас нет нескольких ключей с одинаковым именем. Кроме того, очень часто, когда я сталкивался с проблемами подписи кода, самым быстрым решением было начать процесс заново (создать новые пары ключей, сертификаты и профили обеспечения).

Удачи!

Пушинка
источник
4

Перейдите в «Настройки» -> «Учетные записи» -> выберите Apple ID, который вы используете -> нажмите кнопку «Просмотреть подробности…» -> затем нажмите кнопку «плюс» и нажмите кнопку «Распространение iOS». Подробнее здесь .

ThomasW
источник
3

Кажется, что вы добрались до создания сертификата распространения, поэтому в какой-то момент вы должны были сгенерировать пару ключей. Вы разрабатываете на нескольких машинах? Экспортируйте профиль разработчика с компьютера, на котором он есть, и импортируйте его на этот компьютер.

Джим
источник
Думаю, можно и с прова скачать. портал
Эль Гуапо
Ну, обычно я просто разрабатываю с этого компьютера ... ну, я также получил сертификат разработчика и дистрибьютора, может быть, это что-то еще? Так же, как информация, вот скриншот моего профиля ... dl.dropbox.com/u/659484/pic%202.png
Фабиан Булег,
6
Нет, вы не можете загрузить закрытый ключ с портала подготовки. Это личное. Вы не отдаете это Apple.
Джим
2
Сертификат - это файл, который Apple предоставляет вам, в котором говорится: «Да, этот закрытый ключ одобрен Apple». Сам ключ отдельный. У вас нет ключа на этом компьютере, иначе рядом с ним была бы стрелка раскрытия информации. У вас должен был быть этот ключ в какой-то момент, чтобы сертификат существовал. Если вы не используете другие компьютеры и не установили его в другой учетной записи на вашем компьютере, значит, вы удалили его.
Джим
2
Если у вас нет закрытого ключа и вы не можете восстановить его из резервной копии, вам придется сгенерировать новую пару ключей, сгенерировать для нее CSR, загрузить CSR в Apple, загрузить новый сертификат, созданный Apple в ответ. , создайте новый профиль обеспечения распространения и используйте этот профиль для создания своего приложения. В основном следуйте инструкциям по установке, которые Apple дает вам в начале.
Джим
2

Это просто, войдите в учетную запись пользователя (возможно, на другом Mac), которая использовалась для создания сертификата распространения. Откройте Keychain Access и экспортируйте их закрытый ключ. Затем установите его на свой брелок.

Атул Манвар
источник
2

Моя проблема заключалась в том, что Xcode отсутствовал в списке управления доступом для закрытого ключа. Вы можете исправить это в доступе к связке ключей, не создавая новую пару ключей.

Открытый доступ к связке ключей. Слева выберите логин и Мои сертификаты. Выберите сертификат распространения и дважды щелкните свой закрытый ключ. Выберите контроль доступа и добавьте Xcode в список, если его там нет.

Перезагрузите Xcode и создайте новый архив. Теперь он должен найти закрытый ключ.

zprag
источник
1

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

Сер Пунс
источник
0

У меня есть решение:

У вашей компании есть Company (Enterprise Distribution) .pem и CompanyEnterpriseDistribution.p12, вы также должны их установить.

Сэм
источник
0

У меня есть корпоративный аккаунт в Apple. Я решил проблему:

1) на веб-сайте разработчика «Сертификаты, идентификаторы и профили»
2) в разделе «Профили обеспечения» -> «Разработка»
3)
перейдите в раздел «Подготовка для разработки» -> «изменить» 4) затем загрузите и дважды щелкните.

TtheTank
источник
0

Попробуй это..

  • В «Системных настройках» выберите «Безопасность и конфиденциальность».

  • Щелкните значок «Замок» в нижнем левом углу.

  • Измените "Разрешить загрузку приложений из" с "Где угодно" на "Магазин приложений Mac и идентифицированные разработчики".

-Тогда попробуйте построить.

hmdeep
источник
0

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

Xcode сделает все остальное и позволит вам запустить приложение.

Ура!

V1 Технологии
источник
0

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

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

Сахан Мальдения
источник
0

Это решило проблему для меня, не начав с нуля:

  1. reGenerate файл "CertificateSigningRequest.certSigningRequest" другим macbook.
  2. reGenerate Certificates » * Grid Information Technology Co., Ltd"
  3. reGenerate Provisioning Profiles
тинкль
источник
0

Я создаю и распространяю разработки для своего бета-приложения iOS. Мне неоднократно приходилось добавлять новые устройства в список разрешенных, и из-за этого у меня было много проблем. На этот раз я документирую и рассказываю о такой проблеме и ее решении ...

Я добавил новый udid в свой список в центре разработчиков, построил архив и обнаружил, что ipa не найден в профиле, встроенном в ipa. Итак, я обновил свои профили подготовки в XCode (чтобы получить обновленный список), и эта ошибка была вызвана отсутствием закрытого ключа (как показано в начале этого потока).

Тогда я не смог создать другой архив. Кроме того, это создавало ошибки подписи кода при попытке построить проект.

После долгих мучений я исправил это так:

В XCode перейдите в Настройки ... Вкладка Учетная запись. Нажмите кнопку добавления (в центре слева) и выберите «Разработка для iOS». Это создаст новый идентификатор подписи.

Теперь вы должны иметь возможность использовать новый профиль обеспечения для создания архива.

Также следует исправить ошибки сборки. Вернувшись в проект, перейдите на вкладку «Общие», выберите «команду» и повторите попытку сборки. Могут быть некоторые дополнительные диалоги разрешений. При появлении запроса нажмите «исправить» или «разрешать всегда».

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

BuvinJ
источник
0

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

работал как шарм

Ajbraus
источник
0

У меня есть еще один ответ (помимо моего предыдущего сообщения). Сегодня срок действия моего закрытого ключа истек (как я обнаружил, глядя на KeyChain Access), и в списке был новый. Как? Идк ... Может быть, из-за использования кнопки XCode «исправить проблему», которую мне представили, или путем загрузки обновления для профилей обеспечения, как я описал в другом моем сообщении, новый был создан автоматически? ...

В любом случае, я зашел в центр разработки, нашел профиль обеспечения, который хотел использовать, и нажал «изменить». Затем я смог выбрать «Сертификаты». Я обнаружил, что желаемый не был выбран. Я выбрал его и нажал «создать», чтобы воссоздать профиль обеспечения. Потом я смог его скачать. Я перетащил файл на значок док-станции XCode. Это исправило!

BuvinJ
источник
-2

это произойдет, потому что вы отформатировали свой Mac и переустановили его, или вы разрабатываете новый Mac.

если вы не можете сделать это и ваш старый сертификат и профили экспортированы со старого Mac

вам нужно будет удалить профили предоставления подстановочных карточек из центра разработчиков Apple, а также из сертификатов вам необходимо удалить старые только общие сертификаты разработки и производства.

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

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

Albaiti
источник