Importer fra iPhone-kalenderen — tag det hele med på én gang
Du skal ikke skrive 200 historiske begivenheder ind for at skifte til FamilyBoard. Ét tryk henter dem fra iOS Calendar — og dubletter kan ikke ske.

Det største der stopper folk fra at skifte kalender-app er ikke at lære den nye — det er at flytte den gamle. Mias arbejdsplan seks måneder frem. Olles hele fodboldsæson. Tandlægetiderne i august. Hvis du skal skrive 200 begivenheder ind i hånden, skifter du ikke. Du bliver i den app du allerede er træt af.
I dag lukker vi det hul. Importer fra iPhone-kalenderen er nu i FamilyBoard på iOS.
Hvad det er
Åbn Indstillinger → Kalender-synk → Importer fra iPhone-kalenderen. Du får en liste over alle kalendere din iPhone kender — Apple iCloud, måske Google via Apples bro, måske arbejdets Exchange. Markér dem du vil læse fra (standard: alle undtagen fødselsdage). Tryk Importer.
Inden for få sekunder dukker begivenhederne op i FamilyBoard. Ikke hele historikken — standardvinduet er 30 dage bagud og 365 frem. Nok til at kalenderen føles som din fra første åbning, uden at vi sluger fem år gamle fødselsdagsmiddage.
Det vigtigste — det er idempotent
Kør importen to gange og du får ingen dubletter. Ti gange samme uge — stadig ingen dubletter. Vi bruger iCal-UID'en hver begivenhed bærer som unik nøgle, præfikser med ek- så vi ved den kom fra EventKit, og tjekker på databaseniveau om begivenheden allerede findes.
Lyder trivielt, men er faktisk den mest værdifulde beslutning i hele funktionen. Du kan køre importen igen en måned senere for at hente ny arbejdsplan, uden at slette i panik først.
Teknisk
iOS-siden bruger EventKit:
EKEventStore.requestFullAccessToEventsbeder om tilladelse. Tilladelsen består til du trækker den tilbage under Indstillinger → Privatliv → Kalendere.predicateForEvents(withStart:end:calendars:)over vinduet, mod kalenderne du valgte.- Per begivenhed: tjek om
events.ical_uid = 'ek-' || event.calendarItemIdentifierfindes. Ja — spring over. Nej — opret.
På serveren (Supabase) er der et unique index på (family_id, ical_uid) så samme begivenhed ikke kan blive duplikeret selv om to klienter prøver samtidig.
Og den anden vej?
Eksport — FamilyBoard → iPhone-kalenderen — har været der et stykke tid. Så det betyder tovejs nu. Du importerer det du har, fortsætter med iPhone-kalenderen parallelt hvis du vil, og nye begivenheder i FamilyBoard skrives tilbage.
To forbehold på eksportsiden: enkle RRULE-er (hver uge, hver mandag) rekonstruerer vi; usædvanlige mønstre ("hver fjerde tirsdag undtagen helligdage") flades ud til enkelte begivenheder. Bedre at alt vises end at en RRULE-fortolkning afviger mellem apps.
Bevidste valg
30/365-vinduet er ikke konfigurerbart i v1. Vi vil ikke overraske brugere med en flere minutters import første gang.
Ingen delte Apple-kalendere i v1. Inviterede Apple-kalendere kommer ikke ind automatisk.
Vi rører ikke din iPhone-kalender. Importen er read-only fra Apples side.
Prøv det
Opdater FamilyBoard via TestFlight, åbn Indstillinger → Kalender-synk → Importer fra iPhone-kalenderen. Giv tilladelse, vælg kalendere, tryk. Tredive sekunder senere er du flyttet ind.
Ikke den mest blanke funktion vi har sendt i år — men den der fjerner den hyppigste grund til ikke at skifte.