Добавить работу

Фикс бага во вкладке «Рейтинг» в Счетчик дней для iOS и macOS (SwiftUI)

Дата выполнения работы: 09.09.2026

В процессе работы над приложением «Счетчик дней: вредные привычки» для операционной системы iOS и macOS был обнаружен и исправлен баг, затрагивающий пользователей, которые не участвуют в рейтинге отказа от вредных привычек. Ошибка мешала корректной работе вкладки «Рейтинг» при просмотре профилей других пользователей.


1. Описание проблемы:

Баг возникал в сценарии, когда пользователь, не зарегистрированный в рейтинге отказа от вредных привычек, пытался просмотреть вкладку «Рейтинг» в профиле другого участника. Вместо отображения статистики и календаря успехов целевого пользователя происходил сбой . Проблема была связана с тем, что серверный запрос для получения данных рейтинга не учитывал сценарий, когда текущий пользователь не участвует в рейтинге.


2. Диагностика и локализация:

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


3. Исправление на клиентской части:

На стороне приложения была доработана логика определения целевого пользователя при переходе на вкладку «Рейтинг». Теперь запрос на сервер всегда содержит явный идентификатор пользователя, чей профиль просматривается. Это исключило путаницу между текущим и целевым пользователями независимо от их статуса в рейтинге.


4. Релиз и результат:

Исправления были протестированы в версиях для iOS и macOS, после чего успешно отправлены в App Store. После обновления пользователи, не участвующие в рейтинге, могут без проблем просматривать вкладку «Рейтинг» в профилях других участников. Данные загружаются корректно, статистика и календарь успехов отображаются для целевого пользователя.


Особенности реализации:

- Разработка велась на SwiftUI.
- Поддерживаются все актуальные устройства под управлением iOS 14 и выше, включая iPhone Air, 17, 17 Pro, 17 Pro Max, а также iPad Air 2024 и новее.
- Поддерживаются устройства под управлением операционной системы macOS 11.0 и новее.

09.09.2026 181 635