™ Выпускайте обновления во время поэтапного развертывания в App Store Connect

#ios #app-store #app-store-connect

#iOS #app-store #app-store-connect

Вопрос:

Как поэтапное развертывание App Store Connect работает в деталях? Официальная документация Apple очень бедна и не упоминает много важных вещей. Позвольте мне сформулировать несколько вопросов.

Ситуация

  1. Текущая версия моего приложения 1.0 и доступна для всех в App Store. Версия, которую я хочу выпустить, — 2.0 (номер сборки: 100), и это крупное обновление с критическими изменениями
  2. Я запускаю поэтапный выпуск версии 2.0
  3. Через 2 дня обновление достигло 2% моих пользователей (выбранных случайным образом) с включенными автоматическими обновлениями. Я решил приостановить выпуск, потому что обнаружил критическую ошибку
  4. Я создаю версию 2.0.1 (номер сборки: 101) с исправлением ошибки в версии 2.0
  5. Я создаю версию 1.0.1 (номер сборки: 102) с намерением откатить до версии 1.0 на случай, если основное обновление пойдет не так

Вопросы

  1. Как происходит выпуск обновления во время поэтапного выпуска?Будет ли версия 2.0.1 выпущена только для тех же 2% пользователей, которые уже получили версию 2.0? Или они будут доставлены совершенно новым 2% моих пользователей?

  2. В случае, если это новые 2% пользователей:

    2.1 что происходит с 2% пользователей, которые работают на версии 2.0, и с оставшимися 98%, которые все еще работают на версии 1.0?

    2.2. правда ли, что 2% — это совершенно новые? Потому что, если они будут выбраны случайным образом, потенциально может произойти пересечение между старыми 2% и новыми 2%.

  3. В случае, если я не хочу продолжать выпуск исправления 2.0.1 (например, я понимаю, что основное обновление 2.x работает неправильно), какова стратегия отката до версии 1.x? Как я могу распространить 1.0.1 для всех? Должен ли я отменить поэтапный выпуск версии 2.0 и просто отправить 1.0.1?

Заранее спасибо за помощь! Я прочитал тонны сообщений о Stackoverflow и попытался поискать везде в Интернете, но не нашел никакого четкого ответа по теме выше.

Ответ №1:

  1. Это будет другой случайный выбор пользователей

2.1 Ничего особенного. Они остаются в своей текущей версии до тех пор, пока не будут обновлены (автоматически или вручную).

2.2 Поскольку это случайный выбор, могут быть некоторые совпадения

  1. Вы не можете. Количество версий всегда увеличивается. Вы можете взять свою кодовую базу версии 1.0 и выпустить ее как версию 2.0.2 или что-то в этом роде, но вы не можете выпустить новый «1.0.x»

Чтобы прояснить этот ответ, возможно, немного вводит в заблуждение использование слова «выбор». Это означает, что при активации поэтапного развертывания App Store каким-то образом заранее выбирает устройства, которые будут получать обновление каждый день, и обновление «отправляется» на эти устройства.

Это не то, что происходит.

Устройства iOS периодически проверяют в App Store, доступны ли обновления для их установленных приложений, и извлекают их, если включено автоматическое обновление.

Для данного приложения:

  • Если доступно неэтапное обновление, то ответ «да»

  • Если доступно поэтапное обновление, то ответом будет случайное «да» или «нет» с возрастающей вероятностью «да» в течение периода развертывания, и к концу эта вероятность достигнет 100%.

  • В любом случае, если ответ «да», установлена самая последняя версия приложения.

Комментарии:

1. 2.1. ничто не означает, что они останутся в той версии, в которой они есть, пока до них не дойдет новая версия? 3. Я думал, что должен увеличиваться только номер сборки, а не версия. В любом случае, предполагая, что моя версия отката будет 2.0.2 (а не 1.0.1), как мне поступить?

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

3. Спасибо, вы уже очень помогли. Под вопросом «как мне поступить» я имею в виду: должен ли я прекратить поэтапный выпуск версии 2.0 и выпустить 2.0.2 для всех? Или я должен сначала выпустить 2.0 для всех (т. Е. Завершить поэтапное развертывание) и сразу после 2.0.2 для всех? Я спрашиваю, потому что я не понял, можете ли вы остановить / отменить уже начатый поэтапный выпуск.

4. Вы должны немедленно выпустить новую версию; если есть ошибка, и вы знаете об этом, вы не хотите, чтобы люди запускали версию с ошибками.

5. Я полностью согласен с тем, что я должен немедленно выпустить новую версию, но мой вопрос больше о том, как это сделать, когда у вас есть поэтапный выпуск, который в настоящее время продолжается. Как мне выполнить выпуск 2.0.2, если уже существует версия 2.0 (поэтапная версия с ошибкой)? Есть ли способ полностью остановить поэтапный выпуск, чтобы он не доходил до оставшихся 98% пользователей?