Обновление iOS-приложения проката электросамокатов: проект на Objective-C в новом Xcode, карта MapKit, экраны на UIKit

Ссылка на работу
image image image image
Задача. Оператор проката в областном центре получает через приложение для iPhone основную часть поездок. Приложение 2017 года перестало собираться в новом Xcode: библиотеки пропали из репозиториев или использовали устаревшие вызовы, выпустить исправление в App Store было нельзя. Карта тормозила при множестве самокатов, на новых iPhone кнопки уезжали под вырез. Переписывать с нуля не хотели. Решение. Перенёс проект в актуальный Xcode, зависимости обновил, заменил системными средствами или перенёс в код. Логику поездки (замок, таймер, завершение, оплата) не менял, а перед работой покрыл проверками. Сеть и данные на Foundation из Cocoa почистил от дублей и добавил обработку обрыва связи. Экраны пересобрал на Apple UIKit с автолейаутом и привязкой к безопасной области, проверил на старых и новых моделях. Карту перевёл на MapKit: кластеры с числом самокатов, закрашенные зоны парковки и заштрихованные запретные. Новый код писал на Swift рядом со старым Objective-C, сборку отправил на проверку в App Store. Результат. Приложение снова собирается и выпускается, карта не дёргается, вопросов «почему не завершается поездка» меньше, экраны одинаковы на всех моделях. Старый модуль оплаты на Objective-C стоит перенести отдельным этапом. Евгений Росляков, сайты с 2016 года. Работаю как самозанятый по договору, закрывающие документы для юрлиц.