Обновление устаревшего iOS/Android приложения: полный гайд 2026 без потери данных
Обновление устаревшего приложения — это перенос проекта на актуальные SDK, версии ОС и архитектуру с полным сохранением пользователей, данных и истории покупок. Делается через аудит кода, миграцию базы, поэтапную замену зависимостей и тестирование на реальных устройствах. Стоимость в Казахстане в 2026 году — от 350 000 ₸.
Когда приложению действительно нужно обновление
Не каждое «старое» приложение требует вмешательства. Сигналы, по которым мы определяем, что откладывать дальше нельзя:
- Приложение перестало собираться — старый Xcode или Android Gradle Plugin несовместим с новыми зависимостями, CI падает на сборке.
- App Store или Google Play отклоняют апдейт — Apple требует сборку под актуальный SDK, Google поднимает минимальный
targetSdkVersionежегодно. Без обновления вы физически не сможете выпустить апдейт. - Падения на новых версиях ОS — iOS 18/19 и Android 15/16 ломают поведение устаревших API, и пользователи видят вылеты при запуске.
- Зависимости без поддержки — библиотеки заброшены, в них известные уязвимости, нет патчей под новые устройства.
- Накопленный технический долг — каждая правка занимает в разы больше времени, чем должна.
Если симптомы связаны не с устаревшим кодом, а с устаревшим интерфейсом, стоит сначала разобраться, когда приложению нужен редизайн — это другая задача с другим бюджетом. А если правки тормозят из-за накопленных «костылей», читайте отдельный разбор про технический долг в мобильном приложении.
Почему «просто пересобрать» не работает
Распространённое заблуждение владельцев: «обновите версию SDK и выложите заново». На практике повышение targetSdk или iOS Deployment Target тянет за собой цепочку:
- устаревшие методы помечены как deprecated и удалены — код не компилируется;
- изменилась модель разрешений (камера, геолокация, уведомления, доступ к фото) — без доработки функции молча перестают работать;
- поменялись правила фонового выполнения и хранения файлов — данные могут «исчезать» для пользователя;
- сторонние SDK (платежи, аналитика, пуши) требуют своих мажорных обновлений с breaking changes.
Поэтому обновление — это управляемый инженерный процесс, а не одна кнопка. Подробный разбор подхода мы собрали на странице об обновлении приложений.
Как сохранить данные пользователей при обновлении
Главный страх заказчика — потерять базу пользователей, их покупки, прогресс и настройки. Сохранность данных обеспечивается на трёх уровнях.
1. Локальные данные на устройстве
Core Data, SQLite, Realm, SharedPreferences и Keychain/Keystore требуют версионированных миграций схемы. Мы пишем миграции, которые при первом запуске новой версии переносят старую структуру в новую без обнуления. Обязателен тест апгрейда «со старой версии на новую» на реальном устройстве, а не установка с нуля.
2. Серверная база и API
Если у приложения есть бэкенд, обновляем API с обратной совместимостью: старые клиенты продолжают работать, пока пользователи постепенно переходят на новую версию. Миграции БД на проде делаем с резервной копией и планом отката.
3. Авторизация и платежи
Токены, сессии, привязки к Apple ID / Google аккаунту и история подписок сохраняются. Мы не сбрасываем пользователей в принудительный релогин и сверяем, что восстановление покупок (restore purchases) работает после апдейта.
Этапы работ по обновлению
- Аудит. Анализ кодовой базы, версий SDK, зависимостей, архитектуры и точек риска. На выходе — отчёт и смета.
- План миграции. Определяем порядок: что обновляем первым, где нужны миграции данных, что можно безопасно переписать.
- Обновление окружения. Поднимаем язык (Swift, Kotlin), тулчейн, целевые версии ОС, чиним сборку.
- Замена зависимостей. Меняем заброшенные библиотеки на поддерживаемые, обновляем SDK платежей, пушей, аналитики.
- Миграции данных. Пишем и тестируем перенос локальной и серверной базы.
- Тестирование. Регресс на матрице устройств и версий ОС, отдельно — сценарий апгрейда поверх старой версии.
- Релиз. Поэтапная выкатка в App Store / Google Play, мониторинг крашей и метрик после публикации.
Сколько стоит обновление приложения в Казахстане в 2026
Цена зависит от возраста проекта, объёма кода, наличия бэкенда и того, сколько зависимостей придётся менять. Ориентиры по рынку KZ на 2026 год:
| Тип работ | Что входит | Стоимость, ₸ | Срок |
|---|---|---|---|
| Аудит и смета | Анализ кода, отчёт о рисках, план миграции | от 150 000 | 2–4 дня |
| Минимальное обновление | Подъём SDK, фикс сборки, релиз в сторы | от 350 000 | 1–2 недели |
| Полная миграция (одна платформа) | SDK, зависимости, миграции данных, тесты | от 900 000 | 3–6 недель |
| iOS + Android вместе | Обе платформы, серверная часть | от 1 700 000 | 5–10 недель |
| Обновление + редизайн | Технический апгрейд и обновление интерфейса | от 2 500 000 | от 8 недель |
Точную цифру по вашему проекту даём после аудита — присылаем смету в течение 24 часов. Для проектов в южной столице работает отдельное направление доработки приложений в Алматы с разбором кода и фиксированной сметой.
Обновить или переписать с нуля
Ключевое решение проекта. Переписывание оправдано не всегда — оно дороже, дольше и несёт риск потерять рабочую логику, накопленную годами.
- Обновляем существующее, если бизнес-логика рабочая, а проблема в устаревших версиях и зависимостях. Дешевле, быстрее, безопаснее для данных.
- Переписываем, если архитектура не масштабируется, технология снята с поддержки целиком, либо обновление выходит дороже нового кода. Тогда данные переносятся через миграции, а старая версия какое-то время работает параллельно.
В большинстве случаев правильный путь — поэтапное обновление, а не полная переделка. Мы честно говорим, когда переписывать выгоднее, а когда это лишние траты.
Кто делает обновление
Applications.kz — digital-студия мобильной разработки, работает с 2007 года, более 300 реализованных проектов на рынках Казахстана, ОАЭ и Таиланда. Берём как собственные проекты, так и чужой унаследованный код: разбираемся в архитектуре, документируем и приводим в порядок. Директор — Иван Калита. Обсудить обновление вашего приложения: +7 (707) 928-13-15.
Частые вопросы
Потеряются ли данные пользователей при обновлении?
Нет, если миграции написаны и протестированы корректно. Мы версионируем схему локальной базы, делаем бэкап серверной БД перед изменениями и обязательно тестируем сценарий установки поверх старой версии на реальном устройстве. Покупки, подписки и авторизация сохраняются. Полная потеря данных — это следствие ошибки, а не нормальный исход обновления.
Можно ли обновить приложение, если исходный код частично утерян?
Частично да. Если потеряны вспомогательные модули, мы восстанавливаем их по декомпилированной версии и документации. Если утерян основной проект и осталась только сборка из стора — обычно требуется переписывание с переносом данных. Точную картину даёт аудит: на нём мы оцениваем, что сохранилось и что реально восстановить.
Сколько времени занимает обновление?
Минимальное обновление с подъёмом SDK и фиксом сборки — 1–2 недели. Полная миграция одной платформы с переносом данных и тестами — 3–6 недель. Обе платформы вместе с серверной частью — 5–10 недель. Точный срок зависит от объёма кода и количества устаревших зависимостей и фиксируется после аудита.
Что будет, если не обновлять приложение вообще?
Сначала вы не сможете выпускать апдейты — сторы требуют актуальный SDK. Затем приложение начнёт падать на новых версиях iOS и Android, пользователи будут уходить и ставить низкие оценки. В худшем случае Apple или Google скрывают приложение из поиска или снимают с публикации. Технический долг при этом растёт и удорожает любые будущие правки.
Обновление и редизайн — это одно и то же?
Нет. Обновление — это техническая задача: версии ОС, SDK, зависимости, безопасность, миграции данных. Редизайн — это переработка интерфейса и пользовательского пути. Их можно делать вместе, чтобы выпустить один релиз, но это разные работы с разными бюджетами. Часто достаточно технического апгрейда без смены дизайна.