Сертификат распространения/закрытый ключ не установлен

Используя Xcode 9.1, после создания приложения iOS я хочу его заархивировать и загрузить в AppStore для бета-тестирования. Но я получил следующий вопрос после нажатия кнопки " Upload to the App Store... и выбрав " Automatically manage signing:

"My Name" имеет один сертификат распространения iOS, но его закрытый ключ не установлен.

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

Каков самый простой способ получить отсутствующий закрытый ключ и установить его? Для того, чтобы все работало.

Ответ 1

У вас может быть только один сертификат распространения. Он объединяет открытый ключ, известный Apple, с закрытым ключом, который живет в брелках какого-то компьютера. Если этот сертификат распространения был создан на другом компьютере, то закрытый ключ находится в цепочке ключей этого компьютера. И этот сертификат распространения не работает без него.

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

Если вы перейдете в панель "Учетные записи" в Xcode и дважды щелкните команду "Команда", вы увидите диалог, который поможет вам в этом. Если вы видите свой сертификат распространения, и в нем сказано, что Not In Keychain, вы можете щелкнуть этот сертификат, чтобы получить элемент меню, который позволяет вам отправлять по электронной почте тех, кто создал сертификат, и попросить их отправить его вам. Этот пользователь может использовать этот же импорт для выбора сертификата экспорта и может отправить вам отправленный вами сертификат.

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

Ответ 2

Шаг 1: - xcode → продукт → архивы → Нажмите сертификат управления enter image description here

Шаг 2: - добавить распределение ios enter image description here

Ответ 3

EDIT: Я думал, что другой компьютер мертв, поэтому я исправляю свой ответ:

Вы должны экспортировать сертификат с первого компьютера с его закрытым ключом и импортировать его на новый компьютер.

Я предпочитаю путь iCloud, резервное копирование в iCloud и получение его на новом компьютере.

Если вы не можете сделать это по какой-то причине, вы можете отозвать сертификат на сайте разработчиков Apple, а затем позволить Xcode создать для вас новый, он также создаст новый новый закрытый ключ и сохранит его в вашей цепочке ключей, просто обязательно создайте резервную копию по своему усмотрению

Ответ 4

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

Ответ 5

Только для тех, кто проходит через это, ответы, приведенные выше, верны, но все равно может быть немного запутанным, особенно если у вас несколько сертификатов. Это были шаги, которые я предпринял:

1) Сначала обратите внимание на дату в фактическом сертификате распространения, в котором отсутствует личный ключ. Затем перейдите в приложение для связки ключей на другом компьютере и введите IOS в строке поиска. Он отобразит все ваши ключи разработчика и дистрибутива IOS, чтобы вы нашли правильный.

2) Нажмите стрелку вправо каждой записи распределения IOS, чтобы открыть сертификат и найти тот, у кого есть правильная дата, и экспортировать его по щелчку правой кнопкой мыши и экспортировать выделение.

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

Ответ 6

Добавить новый сертификат Продукция здесь, а затем загрузить файл.cer.

Все будет хорошо сейчас, не забудьте перезапустить Xcode !!!

Ответ 7

Этот ответ для команды "Один человек" быстро решить эту проблему, не прочитав слишком много информации о "Команде",

Шаг 1) Перейдите в веб-браузер, откройте свою учетную запись разработчика. Перейдите к сертификатам, идентификаторам и профилям. Выберите Сертификаты/Производство. Вы увидите сертификат, в котором отсутствует личный ключ, указанный там. Нажмите "Отменить". Следуйте инструкциям по удалению этого сертификата. enter image description here Шаг 2) Это! вернитесь к Xcode для проверки вашего приложения. Теперь он попросит вас создать новый сертификат. Теперь вы счастливо загружаете свои приложения.