Подтвердить что ты не робот

Не удается обновить профиль Ad Hoc до истечения срока его действия, поскольку сертификат не совпадает с идентификатором сертификата

Срок действия моего Ad Hoc истечет через 14 дней. В организаторе есть кнопка "возобновить" для моего ad hoc-профиля, но когда я нажимаю на нее, я получаю...

В этой команде нет текущих сертификатов, соответствующих указанным идентификаторам сертификатов.

Профиль в портале обеспечения показывает активный, истекающий 30-го числа. Я также вижу сертификат распространения с той же датой истечения срока действия. Я должен предположить, что этот сертификат является тем, который использовался для подписи профиля. Есть ли способ исправить это, не отменяя и не создавая новый профиль и сертификат ad hoc?

Если мне нужно начинать сначала, что лучше всего продолжать, не испорчая мои тестовые программы.

Есть много сообщений и ответов на эту тему, но я не могу найти какой-либо адрес этой конкретной проблемы, если сертификат не соответствует идентификатору сертификата профиля.

4b9b3361

Ответ 1

Профили Ad-Hoc Provisioning состоят из трех основных элементов:

  • Точно 1 AppID
  • Открытый ключ вашего сертификата распространения
  • Один или несколько зарегистрированных идентификаторов тестируемых устройств

Когда вы впервые создали этот профиль Provisioning Profile (около года назад, если ваш текущий истекает в ближайшее время!), вы дали указание ему использовать ваш текущий сертификат распространения при создании этого профиля подготовки - итоговую дату истечения срока действия Ad-Hoc установлен в соответствии с истечением срока действия сертификата распространения, поскольку вы не можете запустить приложение, подписанное с сертификатом с истекшим сроком действия (кроме этого: это не обязательно применимо в сценариях Jailbroken...)

Ваш главный вопрос: "Можно ли его исправить без отзыва?" является твердым "Нет". Даже если вы можете внести коррективы, скоро истекающий сертификат распространения приведет к тому, что вновь переизданный профиль Ad-Hoc будет иметь срок действия, соответствующий сертификату распространения. Вы вернетесь в ту же ситуацию через 14 дней, когда и ваш сертификат, и профиль Provisioning Profile истекли. К сожалению, в то время у вас также возникнет новая проблема: любые существующие сборки, которые у вас есть для ваших тестеров, больше не будут запускаться по мере истечения срока действия сертификата подписи и профиля обеспечения.

Вместо этого эти две недели - это ваша возможность быть активной и заставить своих пользователей перейти на новую сборку с новым сертификатом и профилем Provisioning Profile. С моими собственными тестерами я рассматриваю последние несколько недель моего текущего сертификата распространения в качестве окна миграции, чтобы переключить сборки и заставить мои тестеры загружать и устанавливать последнюю тестовую сборку, чтобы они могли продолжать тестирование. Отличная новость заключается в том, что вы поймали, что ваши сертификаты истекают с более чем достаточным временем, чтобы все выяснить и заставить ваши тестеры мигрировать - некоторым из них не очень повезло и им приходится играть в догонялки после того, как все истекло, и у них есть тестеры, которые кричат ​​о вашем сбое в работе приложения/больше не запускать... определенно нежелательный результат для любого разработчика, особенно если вы являетесь магазином одного человека и должны сами координировать как разработку, так и бета-тестер.

Итак, что мне делать?

На высоком уровне выполнение миграции почти идентично настройке этого профиля Ad-Hoc в первый раз - просто требуется очистка старых данных из ваших блогов и профилей Provisioning Profiles, а также отправка некоторых сообщений тестеров, поощряющих ваша команда обновится после того, как вы сделаете новую сборку доступной для них. На высоком уровне этот процесс выглядит следующим образом:

  • Отмените существующий сертификат распространения и переиздайте новый сертификат распространения.
  • Удалите существующий сертификат распространения из вашей брелка и установите новый.
  • Обновите и установите профиль "Недействительный" Ad-Hoc, чтобы использовать недавно созданный сертификат распространения
  • Обновить код Признак Строить настройки, если необходимо.
  • Создайте и создайте свою Ad-Hoc-сборку для своих тестировщиков.

Подождите - не отменит ли мой существующий сертификат нарушить работу моих тестеров?

Нет, ни в коем случае! Ваши существующие Ad-Hoc-сборки будут продолжать работать отлично до истечения срока годности, потому что у них есть вся информация, необходимая для проверки подписи кода прямо внутри сборки Ad-Hoc, которую вы уже отправили. Как только сертификат истечет, однако тогда все не будет запущено, и у вас будут кричать тестеры на ваших руках.

Я собираюсь предположить, что вы используете индивидуальную учетную запись, поэтому сертификаты появятся в формате "iPhone Developer: FirstName LastName" и "iPhone Distribution: FirstName LastName". Если вы используете учетную запись компании, формат будет немного отличаться. Я также предполагаю, что у вас есть только одна учетная запись; если вы зарегистрированы в нескольких учетных записях разработчиков, проявляйте особую осторожность при поиске и удалении существующих сертификатов и профилей из Keychain, поскольку может быть несколько похожих записей.

Чтобы начать, выйдите из Xcode, а затем перейдите к login.apple.com/ios в раздел "Сертификаты, идентификаторы и профили". Ранее это было известно как "Центр обеспечения".

Отмена и повторная выдача сертификата распространения

  • Перейдите в область сертификатов распространения.
  • Найдите свой сертификат распространения в ближайшее время до истечения срока действия и отмените его. Вы, скорее всего, столкнетесь с сообщением, информирующим вас о том, что аннулирование этого сертификата приведет к аннулированию любых связанных профилей подготовки, что вполне ожидаемо и ОК. Фактически, это именно то, что мы хотим, чтобы это сделало так, чтобы вы могли обновить вещи.
  • Нажмите кнопку "Добавить" в верхнем правом углу и выполните шаги, чтобы создать новый сертификат распространения "App Store и Ad Hoc". Загрузите файл на свой компьютер, но не устанавливайте его еще - мы должны сначала очистить старый сертификат от вашей машины разработки.

Удаление отмененного сертификата и установка нового сертификата

  • Откройте Keychain Access и найдите "Распределение iPhone".
  • Удалите все синие сертификаты, соответствующие "Распределение iPhone". Значок сертификата может также показывать красный "X", указывающий, что он либо истек, либо аннулирован. Они могут быть очищены, так как они больше не используются.
  • Дважды щелкните новый загруженный сертификат и установите его.

Редактировать профили Ad-Hoc Provisioning

  • Перейдите в раздел Профили распределения распространения и найдите свой профиль Ad-Hoc.
  • При необходимости измените этот профиль, обновив список тестовых устройств.
  • Нажмите "Создать и загрузить новый профиль Provisioning Profile". Если кнопка "Создать" отключена, убедитесь, что в имени профиля Provisioning нет специальных символов, и вы выбрали хотя бы одно тестовое устройство.
  • Перетащите вновь загруженный профиль обеспечения на Xcode. Любые старые версии профиля могут быть удалены из Организатора.

В этот момент вы должны вернуться в бизнес и при необходимости обновить настройки кодового знака (то есть, если вы установите их для соответствия определенному профилю вместо использования параметра "Автоматический выбор профиля", вам необходимо будет обновить этот параметр чтобы указать на текущую версию вашего профиля Provisioning Profile).

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