TL;DR. Если проблема — юридическая или связанная с удобством использования — есть в вашей текущей активной версии, справка Apple прямо говорит: «вы должны отправить обновление приложения» — кнопки удаления для неё нет. Но если проблема в старой сборке, которую вы всё ещё предлагаете пользователям устаревших версий iOS через Last-Compatible Version Settings, всё иначе: откройте Pricing and Availability, перейдите в Last-Compatible Version Settings и снимите выбор именно с этой сборки. Она сразу пропадёт для новых установок. На тех, кто уже её установил, это никак не влияет — это отдельное, постоянное ограничение, а не баг. Необходимая роль: Account Holder, Admin или App Manager.

Большинство разработчиков открывают Last-Compatible Version Settings всего один раз — чтобы пользователи, застрявшие на старой версии iOS, могли по-прежнему устанавливать последнюю поддерживаемую для них сборку. Мало кто понимает, что тот же экран нужен и в случае, если в одной из этих старых сборок обнаружилась проблема: истёкшая претензия по товарному знаку, проблема с приватностью, уже исправленная в более поздней версии, или встроенный SDK с известной уязвимостью. Отдельной кнопки «удалить эту версию» в App Store Connect нигде нет — это и есть тот самый механизм.

Как убрать одну старую версию из App Store, не снимая с публикации всё приложение?

Удалить версию напрямую нельзя, но можно прекратить её предложение, сняв с неё выбор в Last-Compatible Version Settings — внизу страницы Pricing and Availability. В этом списке отображаются только версии, которые реально были отправлены в App Store, и справочная документация Apple чётко объясняет, когда это применимо, а когда нет.

Apple проводит чёткую границу в зависимости от того, в какой версии проблема:

  • Проблема в вашей текущей, активной версии. Дословно у Apple: «Если статус версии — Ready for Distribution, и в версии есть юридическая проблема или проблема с удобством использования, вы должны отправить обновление приложения». Снять выбор с активной версии или удалить её через этот экран нельзя — исправление возможно только через новую отправку с более высоким номером версии.
  • Проблема в старой, устаревшей сборке (которую вы намеренно продолжаете предлагать пользователям старых iOS через Last-Compatible Version Settings). Именно для этого и существует список снятия выбора: откройте Pricing and Availability → Last-Compatible Version Settings → выберите версию, снимите выбор с проблемной сборки в диалоговом окне, нажмите Done, затем Save.
  • Обновлением проблему не исправить, и сборка не относится только к legacy. Дословно у Apple про крайний случай: «Если вы не можете отправить обновление, вы должны удалить приложение из App Store» — это радикальный вариант, о нём — в нашем гиде по откату в App Store.

Необходимая роль для всего этого: Account Holder, Admin или App Manager — тот же набор, что управляет полем ключевых слов и подзаголовком, а не более широкая группа, включающая Marketing. Полный разбор того, кто что может делать — в нашем гиде по ролям App Store Connect.

Отменяет ли снятие выбора со старой версии её для тех, кто уже её установил?

Нет. Снятие выбора с версии в Last-Compatible Version Settings контролирует только то, будет ли она предложена тем, кто устанавливает ваше приложение впервые, начиная с этого момента. На устройства, где эта сборка уже установлена, это никак не влияет — эти копии продолжают работать точно так же, как и раньше.

Это то же правило, что действует во всех остальных элементах управления доступностью в App Store Connect, включая полное снятие приложения с публикации: что бы вы ни делали на странице Pricing and Availability, это не затрагивает устройство, на котором приложение уже установлено. Если проблема настолько серьёзна, что уже установленные копии действительно нужно остановить, App Store Connect вообще не даёт для этого никакого рычага — единственный путь — это серверные killswitch’и или удалённая конфигурация внутри самого приложения, а это уже полностью за пределами ASO.

Почему это важно, если вы поддерживаете старые версии iOS

Если вы настроили Last-Compatible Version, чтобы пользователи, застрявшие на старом релизе iOS, всё ещё могли установить ваше приложение (о том, как в целом работает раскатка версий, — в нашем гиде по поэтапному релизу), вы фактически заморозили эту старую сборку в неизменном виде. Пропатчить её нельзя — «выпуск обновления приложения всегда заменяет текущую версию», поэтому пользователь на старой iOS не получит исправление, пока не обновит ОС. Снятие выбора из списка — единственный доступный вам рычаг, и он останавливает только новые установки, но не существующие.

На практике: проверяйте список Last-Compatible Version каждый раз, когда исправляете что-то серьёзное. Если исправление достаточно важно и для новых пользователей на старой iOS, стоит решить, нужно ли вообще продолжать предлагать эту старую сборку — прежде чем кто-то её установит и спросит, почему баг, исправленный несколько месяцев назад, всё ещё у него происходит.

Похожие материалы