Автоматический бекап напоминаний — график лечения не пропадет
Как приложение mojApteczka защищает графики дозирования при смене телефона, переустановке и обновлении — синхронизация с облаком работает в фоне.
Твоей маме 74 года, и она принимает семь лекарств в день — в 8:00, 13:00, 20:00 и 22:00. Ты потратил два вечера, чтобы настроить ее телефон: названия, дозы, время, напоминания, которые звонят точно вовремя. Полгода все работает.
В субботу, совершенно неожиданно, разряженный телефон не хочет включаться. Ты идешь в салон, покупаешь новую модель, делаешь restore из iCloud. Открываешь mojApteczka — пусто. Ни одного лекарства, ни одного напоминания.
Это сценарий, который в апреле 2026 года уже не должен иметь права на существование. И в mojApteczka его нет — благодаря автоматическому бекапу напоминаний в облако.
Проблема, которая на первый взгляд не выглядит проблемой
Напоминания о лекарствах в приложениях для здоровья обычно считают «настройками» — локальной конфигурацией телефона, как будильник. Пока телефон работает, все работает. Пока у тебя та же версия приложения, все работает.
Проблема появляется в моменты перехода:
- Смена телефона — restore из iCloud не всегда переносит все данные приложений. Особенно базы SwiftData / Core Data иногда не перезапускаются корректно после миграции
- Переустановка приложения — на iOS удаление приложения очищает его локальную базу, но не всегда очищает запланированные уведомления iOS (это отдельный слой системы)
- Обновление до новой версии — иногда миграция схемы базы проходит не гладко, и приложение стартует с чистым состоянием
- TestFlight и бета-версии — каждая новая бета-версия при определенных условиях может очистить локальную базу, а запланированные уведомления остаются в системе
В каждом из этих случаев возникает парадокс: напоминания звонят, но приложение о них не знает. Это классический симптом «призраков напоминаний» — инженерной метафоры для сигналов, запланированных в iOS, у которых уже нет соответствия в локальной базе приложения.
Сигнал в 8:00: «Бисопролол». В приложении: пусто. Ты не можешь выключить напоминание, потому что не видишь его. Не можешь изменить время. Ты оказываешься в состоянии полудоверия к собственному телефону.
Двухэтапная защита: очистка и синхронизация
mojApteczka решает эту проблему двумя независимыми механизмами, которые работают вместе при каждом запуске приложения. Оба невидимы для пользователя, оба занимают миллисекунды.
Этап 1 — локальная очистка
Приложение спрашивает iOS: «Какие у тебя есть запланированные уведомления от mojApteczka?» — и сравнивает ответ со своей локальной базой напоминаний. Каждое уведомление, у которого нет соответствия в базе, автоматически удаляется из системы.
Это убирает призраков. Если они остались после предыдущей версии, после переустановки, после неудачной миграции — они исчезают в момент, когда ты открываешь приложение. Без настройки, без вопросов, без сообщения.
Этап 2 — синхронизация с облаком
Каждое напоминание, которое ты добавляешь, редактируешь или удаляешь, в фоне отправляется на сервер. Когда ты снова открываешь приложение (на том же телефоне или на совершенно новом), приложение делает три вещи одновременно:
- Загружает состояние из облака и сравнивает его с локальной базой
- Восстанавливает локально те напоминания, которые есть в облаке, но отсутствуют локально
- Отправляет в облако те, которые есть локально, но отсутствуют в облаке (например, созданные офлайн)
При конфликте (одно и то же напоминание, разные данные с обеих сторон) побеждает более новое изменение. Это простое правило «last-write-wins», но на практике его достаточно, потому что конфликты появляются только в исключительных ситуациях (например, параллельное редактирование офлайн с нескольких устройств).
После завершения синхронизации приложение автоматически перепланирует уведомления iOS так, чтобы у каждого напоминания в базе было свое соответствующее уведомление в системе. С точки зрения пользователя — ничего не происходит. Ты открываешь приложение, видишь свои напоминания, звонит то, что должно звонить.
Что именно входит в бекап?
Синхронизируется не каждый аспект приложения — только то, что необходимо для восстановления графика. Конкретно:
- Название лекарства и идентификатор записи
- Назначенная аптечка и подопечный (если ты управляешь больше чем одной аптечкой, например как опекун)
- Тип повторения — ежедневно, выбранные дни недели, каждые N дней, однократно
- Время дозирования и количества (с поддержкой дробных доз, например «полтаблетки»)
- Статус активное / неактивное — чтобы после переустановки не включить обратно напоминания, которые уже были выключены
- Количество принятых доз и возможный лимит курсовой терапии (например, антибиотик на 7 дней, день 5 из 7)
После синхронизации приложение имеет полное состояние каждого напоминания и может безошибочно восстановить уведомления iOS — с тем же временем, дозами и контекстом подопечного.
Реальные моменты, когда бекап спасает
Смена телефона у пожилого человека
Ты помогаешь родителю купить новый iPhone, потому что старая модель уже не поддерживает обновления iOS. Делаешь restore из iCloud, устанавливаешь mojApteczka из App Store, входишь в его или ее аккаунт. Все семь напоминаний в день — восстановлены за несколько секунд. Не нужно настраивать их с нуля, ты не перепутаешь время и не пропустишь одно лекарство.
Restore после поломки
Телефон упал в воду. Ты покупаешь новый, делаешь restore. Некоторые приложения переносят данные, другие нет — но mojApteczka восстанавливает полный график, потому что хранит его в облаке независимо от iCloud.
Тестер TestFlight
Ты участвуешь в бета-тестировании новой версии mojApteczka. Каждые несколько дней устанавливаешь новую версию. Теоретически каждая из них могла бы очистить базу — но облачный бекап следит за тем, чтобы твой график пережил каждое обновление.
Удаление приложения
Ты случайно нажал «Удалить приложение» вместо «Удалить с экрана “Домой”». Устанавливаешь mojApteczka обратно из App Store. Входишь — все возвращается.
Ребенок с телефоном родителя
Ребенок сбросил настройки iPhone папы. Настройки вернулись к заводским, приложения удалены. Restore из iCloud восстанавливает приложения, но напоминания mojApteczka возвращаются из облака — независимо от качества restore.
Безопасность — RODO и техническая защита
Данные напоминаний хранятся на серверах AWS в регионе EU (Frankfurt). Это важно с точки зрения RODO — данные о твоих лекарствах не покидают Европейский союз.
Передача шифруется TLS, данные в состоянии покоя шифруются алгоритмами стандарта AES-256, которыми управляет AWS. Каждый запрос синхронизации требует действительного токена Cognito, который истекает через определенное время и обновляется автоматически — это означает, что данные одного пользователя полностью изолированы от данных других, даже на уровне инфраструктуры.
После выхода приложение считает сессию завершенной — локальная база и копия в облаке удаляются вместе. В соответствии с RODO, если ты хочешь отказаться от сервиса, выход из аккаунта и удаление приложения завершают хранение данных с обеих сторон.
Бекап и другие функции графика
Бекап напоминаний — это слой ниже, чем другие функции, связанные с графиком. Когда ты хочешь быстро передать план лечения опекуну или врачу, ты по-прежнему используешь экспорт графика — это отдельная функция, работающая на том же состоянии. Когда настраиваешь время и дозы, делаешь это в разделе напоминаний, где есть виджеты iOS и команды Siri. Когда управляешь подопечными, используешь роль опекуна. Бекап следит за тем, чтобы у всех этих функций была своя база данных, не поврежденная сменой телефона или переустановкой.
Если тебе нужна формальная документация графика для визита к врачу, PDF-отчет для врача генерирует документ из той же базы — но это отдельный процесс, независимый от бекапа.
Как проверить, что бекап работает?
Самый простой тест — и одновременно самый незаметный — это войти на втором устройстве (iPhone, iPad) в тот же аккаунт mojApteczka. Графики появятся там в течение секунды. Нет экрана «синхронизирую», нет настройки, нет ничего, на что нужно нажимать. Они просто есть.
Для пользователей, которым нужно полное техническое описание, доступно подробное описание функции автоматического бекапа напоминаний — с механизмами двухэтапной синхронизации, списком синхронизируемых полей и деталями защиты.
Доступность
Функция автоматического бекапа напоминаний работает в мобильном приложении на iOS. Она не требует настройки — активна с первого входа. Отдельной подписки тоже нет — бекап входит в стандартный набор функций.
Скачай mojApteczka в App Store и будь уверен, что график лечения — твой или твоих близких — переживет каждую смену телефона, каждое обновление и каждую миграцию данных.
Есть вопросы о бекапе напоминаний или других функциях mojApteczka? Напиши нам на kontakt@mojapteczka.pl.
Часто задаваемые вопросы
- Бекап работает автоматически или его нужно запускать?
- Бекап работает полностью автоматически. Нет никакой кнопки «синхронизировать» и никакой настройки — при каждом запуске приложения состояние напоминаний сравнивается с копией в облаке, а различия выравниваются в фоне. Пользователь не видит экрана загрузки, потому что весь процесс занимает долю секунды.
- Что произойдет, если я сменю телефон?
- При первом входе на новом устройстве приложение прочитает состояние напоминаний из облака и восстановит их локально вместе с уведомлениями iOS. График дозирования начинает работать сразу — без ручного переписывания времени, лекарств или количеств.
- Данные напоминаний в безопасности?
- Да. Данные хранятся на серверах AWS в регионе EU (Frankfurt), шифруются и при передаче (TLS), и в состоянии покоя. Каждая синхронизация требует действительного токена Cognito — данные одного пользователя полностью изолированы от данных других.
- Что такое «призраки напоминаний» и как приложение с ними справляется?
- Призраки напоминаний — это инженерная метафора для уведомлений iOS, которые остались в системе после переустановки приложения, но уже не имеют соответствующей записи в базе данных. mojApteczka при каждом запуске сравнивает запланированные уведомления iOS с локальными записями — каждое уведомление без метки в базе автоматически удаляется из системы.
- Работает ли бекап после выхода из аккаунта?
- После выхода приложение считает сессию завершенной — локальная база и копия в облаке удаляются вместе, в соответствии с требованиями RODO (GDPR). Когда ты снова войдешь в тот же аккаунт, синхронизация начнется заново и восстановит только те данные, которые хранились в облаке до выхода.