Skip to content

iCloud sync (CloudKit-backed SwiftData) #29

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)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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