Importer fra iPhone-kalenderen — ta med deg alt på én gang
Du skal ikke måtte taste inn 200 historiske hendelser for å bytte til FamilyBoard. Ett trykk henter dem fra iOS Calendar — og duplikater kan ikke skje.

Det største som hindrer folk fra å bytte kalenderapp er ikke å lære den nye — det er å flytte den gamle. Mias jobbskjema seks måneder fram. Olles hele fotballsesong. Tannlegetimene i august. Hvis du må taste inn 200 hendelser for hånd, bytter du ikke. Du blir værende i appen du allerede er lei av.
I dag fikser vi det. Importer fra iPhone-kalenderen er nå i FamilyBoard på iOS.
Hva det er
Åpne Innstillinger → Kalendersynk → Importer fra iPhone-kalenderen. Du får en liste over alle kalendere iPhone-en din kjenner til — Apple iCloud, eventuelt Google via Apples brobygging, eventuelt jobbens Exchange. Kryss av de du vil lese fra (standard: alle unntatt fødselsdager). Trykk Importer.
Innen få sekunder dukker hendelsene opp i FamilyBoard. Ikke hele historikken — standardvinduet er 30 dager bakover og 365 fremover. Nok til at kalenderen føles som din fra første åpning, uten at vi sluker fem år gamle bursdagsmiddager.
Det viktigste — det er idempotent
Kjør importen to ganger og du får ingen duplikater. Ti ganger samme uke — fortsatt ingen duplikater. Vi bruker iCal-UID-en hver hendelse bærer som unik nøkkel, prefikser med ek- så vi vet den kom fra EventKit, og sjekker på databasenivå om hendelsen finnes fra før.
Det virker trivielt, men er faktisk den mest verdifulle avgjørelsen i hele funksjonen. Du kan kjøre importen igjen en måned senere for å hente nytt jobbskjema, uten å slette i panikk først.
Teknisk
iOS-siden bruker EventKit:
EKEventStore.requestFullAccessToEventsber om tillatelse. Tillatelsen består til du trekker den tilbake under Innstillinger → Personvern → Kalendere.predicateForEvents(withStart:end:calendars:)over vinduet, mot kalenderne du valgte.- Per hendelse: sjekk om
events.ical_uid = 'ek-' || event.calendarItemIdentifierfinnes. Ja — hopp over. Nei — opprett.
På serveren (Supabase) er det en unique index på (family_id, ical_uid) slik at samme hendelse ikke kan bli dublert selv om to klienter prøver samtidig.
Og andre veien?
Eksport — FamilyBoard → iPhone-kalenderen — har vært der en stund. Så dette betyr toveis nå. Du importerer det du har, fortsetter å bruke iPhone-kalenderen parallelt om du vil, og nye hendelser i FamilyBoard skrives tilbake.
To forbehold på eksportsiden: enkle RRULE-er (hver uke, hver mandag) rekonstruerer vi; uvanlige mønstre ("hver fjerde tirsdag unntatt helligdager) flates ut til enkelthendelser. Bedre at alle hendelser vises enn at en RRULE-tolkning avviker mellom apper.
Bevisste valg
30/365-vinduet er ikke konfigurerbart i v1. Vi vil ikke overraske brukere med en flere minutters import første gang.
Ingen delte Apple-kalendere i v1. Inviterte Apple-kalendere kommer ikke inn automatisk.
Vi rører ikke iPhone-kalenderen din. Importen er read-only fra Apples side.
Prøv det
Oppdater FamilyBoard via TestFlight, åpne Innstillinger → Kalendersynk → Importer fra iPhone-kalenderen. Bekreft tillatelsen, velg kalendere, trykk. Tretti sekunder senere har du flyttet inn.
Ikke den blankeste funksjonen vi har sluppet i år — men den som fjerner den vanligste grunnen til ikke å bytte.