При обновлении сертификата дистрибутива iOS, что произойдет с моим приложением, которое находится в обзоре? и будет ли он использовать тот же ключ privarte?


Мое приложение ждет проверки, и теперь сертификат дистрибутива вот-вот истечет.

Насколько я понимаю, чтобы обновить профиль, вы просто нажимаете "обновить" на портале.

    Будет ли он использовать тот же закрытый ключ или потребуется новый запрос на подпись?
  • Что произойдет с моим приложением, которое еще не было одобрено? Придется ли мне заново создавать / подписывать приложение?
3 5

3 ответа:

Этот вопрос, вероятно,не получил большого внимания, поскольку второй из ваших вопросов вызывает предположения о внутренней работе и процессе Apple и команды App Store Review. Давайте сначала разберемся с тем, что мы абсолютно точно знаем:

Будет ли он использовать тот же закрытый ключ или потребуется новый запрос на подпись?

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

Если, однако, вы случайно удалите свой личный или открытый ключ, то вам потребуется:

  1. пройдите через процесс КСО
  2. переоформить сертификат
  3. установить сертификат
  4. повторите выпуск профилей подготовки
  5. удалите старые профили
  6. установите новые профили
  7. при необходимости обновите настройки кодового знака
  8. повторно протестируйте сборку, чтобы убедиться, что все работает правильно.

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

Что произойдет с моим приложением, которое еще не было одобрено? Придется ли мне заново создавать / подписывать приложение?

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

Мы знаем из выпуска наших других приложений, что после того, как процесс проверки происходит и приложение официально одобрено, есть состояние "подготовка к AppStore", которое обычно занимает несколько минут, прежде чем перейти к "Готов к продаже". Между прочим, эта задержка точно отражает фазы упаковки приложений и подписи кода в нашем собственном процессе сборки Xcode. Во-вторых, для Apple было бы мало смысла готовить каждый двоичный файл, который она получает для приложения Магазин. Мы знаем, что существует нетривиальное количество представленных сборок, которые отклоняются каждый день за различные нарушения программы разработчика, вопиющие сбои приложений и даже случайные недействительные отклонения. В совокупности эти "плохие сборки" никогда не попадут в магазин приложений, поэтому было бы бессмысленно тратить время, усилия и место для хранения этих подготовленных приложений на случай, если они будут одобрены (вы знаете, что мы разработчики...мы слишком бережно относимся к нашему времени на земле. процессор и наше место для хранения!) В любом случае, если вы принимаете эти гипотезы как факт, то вот как просроченный сертификат дистрибутива, вероятно, повлияет на ваше приложение для среднего обзора:

Если команда проверки App Store еще не начала проверку

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

Если команда проверки App Store уже начала проверку

В зависимости от того, когда рецензент устройство выполняет свою следующую проверку сборки ad-hoc, ваше приложение может запускаться или не запускаться на устройстве (устройствах) рецензента. Если он продолжает работать в течение всего цикла проверки и получает одобрение команды, то вам не нужно будет беспокоиться ни о чем, пока вы не захотите представить следующую версию.

С другой стороны, если он проверит и не запустится в следующий раз, когда обзор снова откроет приложение, вы получите уведомление об отказе iTunes Connect. Как до перестройки, и повторите все это было бы необходимо.

В качестве альтернативы, вы можете просто отказаться от устаревшего двоичного файла с помощью инструмента командной строки code sign, однако особенности этого процесса выходят за рамки этого вопроса SO, поэтому я оставлю это в качестве упражнения для читателя (или для читателя, чтобы открыть другой вопрос SO!)

Прошел через истечение срока действия сертификата. Как только срок действия вашего сертификата истечет, он будет автоматически удален из системы. developer.apple.com, так что новый сертификат должен быть создан. Кроме того, все профили предоставления с этим сертификатом истекли, истекли даже на несколько часов раньше, чем сертификат, поэтому рекомендуется создать новый сертификат и обновить профили за несколько дней до истечения срока его действия. Как только ваше приложение загрузится в iTunes connect, ничего плохого не случится, если срок действия сертификата истечет (в моем случае заявка на рассмотрение дела находилась в режиме "ожидания рассмотрения", когда истек срок действия сертификата, и процесс рассмотрения начался через несколько дней после него). Но проверка может быть неудачной, если вы отклоните сертификат, не уверенный в этом случае.

На прошлой неделе я отправил приложение в iTunes для просмотра через загрузчик приложений. Через пару дней срок действия моих сертификатов подписи дистрибутива истек и исчез, что также привело к истечению срока действия моих профилей.

Я восстановил сертификаты подписи и обновил просроченные профили с помощью этих сертификатов, чтобы они снова были действительны. У меня также был срок действия сертификатов Push, которые я также регенерировал.

Через пару дней приложение отправилось на проверку и было принято, нет проблема!