mojApteczka Blog
Strona główna

Automatyczny backup przypomnień — nigdy nie stracisz harmonogramu leczenia

Tomasz Szuster 6 min czytania
backup przypomnień o lekach synchronizacja przypomnień zmiana telefonu leki przypomnienia iCloud harmonogram dawkowania chmura

Twoja mama ma 74 lata i bierze siedem leków dziennie — o 8:00, 13:00, 20:00 i 22:00. Zajęło Ci dwa wieczory, żeby skonfigurować jej telefon: nazwy, dawki, godziny, przypomnienia, które dzwonią punktualnie. Od pół roku działa.

W sobotę, zupełnie niespodziewanie, rozładowany telefon nie chce się włączyć. Idziesz do salonu, kupujesz nowy model, robisz restore z iCloud. Otwierasz mojApteczka — pusto. Żadnego leku, żadnego przypomnienia.

To scenariusz, który w kwietniu 2026 nie powinien już mieć prawa wystąpić. I w mojApteczka nie występuje — dzięki automatycznemu backupowi przypomnień do chmury.

Problem, który na pierwszy rzut oka nie wygląda na problem

Przypomnienia o lekach w aplikacjach zdrowotnych są zwykle traktowane jako „ustawienia” — lokalna konfiguracja telefonu, podobnie jak budzik. Dopóki telefon działa, wszystko działa. Dopóki masz tę samą wersję aplikacji, wszystko działa.

Problem pojawia się w momentach przejścia:

  • Zmiana telefonu — restore z iCloud nie zawsze przenosi wszystkie dane aplikacji. Szczególnie bazy SwiftData / Core Data potrafią nie zrestartować się poprawnie po migracji
  • Reinstalacja aplikacji — na iOS usunięcie aplikacji czyści jej lokalną bazę, ale nie zawsze czyści zaplanowane powiadomienia iOS (to oddzielna warstwa systemu)
  • Aktualizacja do nowej wersji — czasem migracja schematu bazy nie przebiega gładko i aplikacja startuje z czystym stanem
  • TestFlight i wersje beta — każda nowa wersja beta może w określonych warunkach wyczyścić lokalną bazę, a zaplanowane powiadomienia zostają w systemie

W każdym z tych przypadków pojawia się paradoks: przypomnienia dzwonią, ale aplikacja ich nie zna. To klasyczny objaw „duchów przypomnień” — alarmów zaplanowanych w iOS, które nie mają już odpowiednika w lokalnej bazie aplikacji.

Alarm o 8:00: „Bisoprolol”. W aplikacji: pusto. Nie możesz wyłączyć przypomnienia, bo go nie widzisz. Nie możesz zmienić godziny. Jesteś w stanie półzaufania wobec własnego telefonu.

Dwuetapowa obrona: oczyszczanie i synchronizacja

mojApteczka rozwiązuje ten problem dwoma niezależnymi mechanizmami, które działają razem przy każdym uruchomieniu aplikacji. Oba są niewidoczne dla użytkownika, oba zajmują milisekundy.

Etap 1 — lokalne oczyszczanie

Aplikacja pyta iOS: „Jakie masz zaplanowane powiadomienia od mojApteczka?” — i porównuje odpowiedź ze swoją lokalną bazą przypomnień. Każde powiadomienie, które nie ma odpowiednika w bazie, jest automatycznie usuwane z systemu.

To eliminuje duchy. Jeśli zostały po poprzedniej wersji, po reinstalacji, po nieudanej migracji — znikają w chwili, w której otwierasz aplikację. Bez konfiguracji, bez pytania, bez komunikatu.

Etap 2 — synchronizacja z chmurą

Każde przypomnienie, które dodajesz, edytujesz lub usuwasz, jest w tle wysyłane na serwer. Gdy ponownie otwierasz aplikację (na tym samym telefonie albo na zupełnie nowym), aplikacja robi trzy rzeczy jednocześnie:

  • Pobiera stan z chmury i porównuje z lokalną bazą
  • Odtwarza lokalnie te przypomnienia, które są w chmurze, ale brakuje ich lokalnie
  • Wysyła do chmury te, które są lokalnie, ale brakuje ich w chmurze (np. stworzone offline)

W przypadku konfliktu (to samo przypomnienie, różne dane po obu stronach) wygrywa nowsza modyfikacja. To prosta reguła „last-write-wins”, ale w praktyce wystarczająca, bo konflikty pojawiają się wyłącznie w wyjątkowych sytuacjach (np. edycja offline z kilku urządzeń równolegle).

Po zakończeniu synchronizacji aplikacja automatycznie przeplanowuje powiadomienia iOS, tak aby każde przypomnienie w bazie miało swoje odpowiednie powiadomienie w systemie. Z punktu widzenia użytkownika — nic się nie dzieje. Otwierasz aplikację, widzisz swoje przypomnienia, dzwoni to, co powinno dzwonić.

Co dokładnie jest w backupie?

Nie każdy aspekt aplikacji jest synchronizowany — tylko to, co jest niezbędne do odtworzenia harmonogramu. Konkretnie:

  • Nazwa leku i identyfikator rekordu
  • Przypisana apteczka i podopieczny (jeśli zarządzasz więcej niż jedną apteczką, np. jako opiekun)
  • Typ powtarzania — codziennie, wybrane dni tygodnia, co N dni, jednorazowo
  • Godziny dawkowania i ilości (z obsługą dawek ułamkowych, np. „pół tabletki”)
  • Status aktywny / nieaktywny — żeby po reinstalacji nie włączyć z powrotem przypomnień, które już zostały wyłączone
  • Liczba przyjętych dawek i ewentualny limit terapii kursowej (np. antybiotyk na 7 dni, dzień 5 z 7)

Po synchronizacji aplikacja ma pełen stan każdego przypomnienia i może bezbłędnie odtworzyć powiadomienia iOS — z tymi samymi godzinami, dawkami i kontekstem podopiecznego.

Realne momenty, w których backup ratuje

Zmiana telefonu u seniora

Pomagasz rodzicowi kupić nowy iPhone, bo stary model już nie obsługuje aktualizacji iOS. Robisz restore z iCloud, instalujesz mojApteczka z App Store, logujesz się jego kontem. Wszystkie siedem przypomnień dziennie — odtworzone w kilka sekund. Nie musisz konfigurować ich od zera, nie pomylisz godzin, nie przegapisz jednego leku.

Restore po awarii

Telefon wpadł do wody. Kupujesz nowy, robisz restore. Niektóre aplikacje przenoszą dane, inne nie — ale mojApteczka odtwarza pełny harmonogram, ponieważ trzyma go w chmurze niezależnie od iCloud.

Tester TestFlight

Uczestniczysz w testach beta nowej wersji mojApteczka. Co kilka dni instalujesz nową wersję. Każda z nich mogłaby teoretycznie wyczyścić bazę — ale backup chmurowy dba o to, żeby Twój harmonogram przetrwał każdą aktualizację.

Czyszczenie aplikacji

Niechcący kliknąłeś „Usuń aplikację” zamiast „Usuń z ekranu głównego”. Instalujesz mojApteczka z powrotem z App Store. Logujesz się — wszystko wraca.

Dziecko z telefonem rodzica

Dziecko zresetowało ustawienia iPhone’a Taty. Ustawienia wróciły do fabrycznych, aplikacje usunięte. Restore z iCloud przywraca aplikacje, ale przypomnienia mojApteczka wracają z chmury — niezależnie od jakości restore.

Bezpieczeństwo — RODO i techniczne zabezpieczenia

Dane przypomnień są przechowywane na serwerach AWS w regionie EU (Frankfurt). To istotne z punktu widzenia RODO — dane Twoich leków nie opuszczają Unii Europejskiej.

Transmisja jest szyfrowana TLS, dane w spoczynku są szyfrowane algorytmami standardu AES-256 zarządzanymi przez AWS. Każde żądanie synchronizacji wymaga ważnego tokena Cognito, który wygasa po określonym czasie i jest odnawiany automatycznie — to oznacza, że dane jednego użytkownika są całkowicie odizolowane od danych innych, nawet na poziomie infrastruktury.

Po wylogowaniu aplikacja traktuje sesję jako zakończoną — lokalna baza i kopia w chmurze są usuwane razem. Zgodnie z RODO, jeśli chcesz zrezygnować z usługi, wylogowanie i odinstalowanie kończy przechowywanie danych po obu stronach.

Backup a inne funkcje harmonogramu

Backup przypomnień jest warstwą niżej niż inne funkcje związane z harmonogramem. Gdy chcesz szybko przekazać plan leczenia opiekunowi albo lekarzowi, wciąż korzystasz z eksportu harmonogramu — to osobna funkcja, działająca na tym samym stanie. Gdy konfigurujesz godziny i dawki, robisz to w sekcji przypomnień, która ma widgety iOS i skróty Siri. Gdy zarządzasz podopiecznymi, używasz roli opiekuna. Backup dba o to, żeby wszystkie te funkcje miały swoją bazę danych nietkniętą przez zmianę telefonu czy reinstalację.

Jeśli potrzebujesz formalnej dokumentacji harmonogramu na wizytę u lekarza, raport PDF dla lekarza generuje dokument z tej samej bazy — ale to osobny przepływ, niezależny od backupu.

Jak sprawdzić, że backup działa?

Najprostszy test — i zarazem najbardziej niewidoczny — to zalogowanie się na drugim urządzeniu (iPhone, iPad) tym samym kontem mojApteczka. Harmonogramy pojawią się tam w ciągu sekundy. Nie ma ekranu „synchronizuję”, nie ma konfiguracji, nie ma nic do klikania. Po prostu są.

Dla użytkowników, którzy potrzebują pełnego opisu technicznego, dostępny jest szczegółowy opis funkcji automatycznego backupu przypomnień — z mechanizmami dwuetapowej synchronizacji, listą synchronizowanych pól i szczegółami zabezpieczeń.

Dostępność

Funkcja automatycznego backupu przypomnień działa w aplikacji mobilnej na iOS. Nie wymaga konfiguracji — jest aktywna od pierwszego logowania. Nie ma też oddzielnej subskrypcji — backup jest częścią standardowego zestawu funkcji.

Pobierz mojApteczka na App Store i miej pewność, że harmonogram leczenia Twój lub Twoich bliskich przetrwa każdą zmianę telefonu, każdą aktualizację i każdą migrację danych.


Masz pytania o backup przypomnień lub inne funkcje mojApteczka? Napisz do nas na kontakt@mojapteczka.pl.

Najczęściej zadawane pytania

Czy backup działa automatycznie, czy muszę go uruchomić?
Backup działa w pełni automatycznie. Nie ma żadnego przycisku „zsynchronizuj" ani konfiguracji — przy każdym uruchomieniu aplikacji stan przypomnień jest porównywany z kopią w chmurze, a różnice są wyrównywane w tle. Użytkownik nie widzi ekranu ładowania, bo cały proces zajmuje ułamek sekundy.
Co się stanie, jeśli zmienię telefon?
Przy pierwszym logowaniu na nowym urządzeniu aplikacja odczyta stan przypomnień z chmury i odtworzy je lokalnie wraz z powiadomieniami iOS. Harmonogram dawkowania zaczyna działać od razu — bez ręcznego przepisywania godzin, leków ani ilości.
Czy dane przypomnień są bezpieczne?
Tak. Dane są przechowywane na serwerach AWS w regionie EU (Frankfurt), szyfrowane zarówno podczas transmisji (TLS), jak i w spoczynku. Każda synchronizacja wymaga ważnego tokena Cognito — dane jednego użytkownika są całkowicie odizolowane od danych innych.
Co to są „duchy przypomnień" i jak aplikacja sobie z nimi radzi?
Duchy przypomnień to powiadomienia iOS, które pozostały w systemie po reinstalacji aplikacji, ale nie mają już odpowiednika w bazie danych. mojApteczka przy każdym starcie porównuje zaplanowane powiadomienia iOS z lokalnymi rekordami — każde powiadomienie bez etykiety w bazie jest automatycznie usuwane z systemu.
Czy backup działa też po wylogowaniu?
Po wylogowaniu aplikacja traktuje sesję jako zakończoną — lokalna baza i kopia w chmurze są usuwane razem, zgodnie z wymogami RODO. Gdy zalogujesz się ponownie na tym samym koncie, synchronizacja zacznie od nowa i odtworzy tylko te dane, które były utrzymywane w chmurze przed wylogowaniem.