Skip to content

iCloud sync (CloudKit-backed SwiftData) #29

@ryanabooth

Description

@ryanabooth

Flip on CloudKit-backed SwiftData so users can sync across devices.

Scope

Schema is already CloudKit-compatible — every property has a default, every relationship is optional with an explicit inverse, no @Attribute(.unique). The remaining work:

  1. Enable iCloud capability + CloudKit container in Xcode (paid Apple Developer account required)
  2. Update LifePlanner/Repositories/Database/ModelContainer.swift to use ModelConfiguration(cloudKitDatabase:)
  3. Test on two devices signed into the same Apple ID

Blocker

Paid Apple Developer account. Currently shipping via free TestFlight which does not include CloudKit container provisioning.

Acceptance criteria (post-unblock)

  • iCloud capability + container enabled in app target
  • ModelConfiguration uses .private(databaseName:)
  • Adding a goal on iPhone A appears on iPhone B within 60s (both signed into same Apple ID)
  • Account-switch scenario doesn't corrupt local state
  • Conflict resolution tested (offline edits on two devices, then both come online)

Metadata

Metadata

Assignees

No one assigned

    Labels

    blockedBlocked on external resourcesenhancementNew feature or requestphase-5Platform — iCloud, widgets, intents

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions