[SD] Sincronizando SwiftData con iCloud
Source: Dev.to
Activar Capability
El primer paso para sincronizar SwiftData con CloudKit es activar la Capability iCloud.
En Xcode, busca la opción + Capability cerca de la configuración General del target del proyecto.
Configuración de iCloud
- Aparecerá el servicio activo en la pestaña Signing.
- Selecciona CloudKit como el servicio que necesitas.
Agregar contenedor de CloudKit
- Haz clic en el botón + para agregar un nuevo contenedor de CloudKit o selecciona uno existente.
- El contenedor vivirá en los servidores de Apple, por lo que debes usar un identificador único (puedes usar el bundle identifier como referencia).
- Después de crear el identificador, presiona el botón de refrescar.
Background Modes
CloudKit usa notificaciones remotas (Remote Notifications) para reportar cambios en la base de datos que pueden ocurrir en segundo plano.
Activa la Capability Background Modes y marca la casilla Remote Notifications.
Restricciones de implementación
- No se puede usar
@Attribute(.unique)sobre ninguna propiedad a sincronizar con CloudKit. - Todas las propiedades deben tener un valor por defecto o estar marcadas como opcionales.
- Todas las relaciones deben marcarse como opcionales.
Administración de CloudKit
Para administrar remotamente la base de datos en CloudKit, accede al dashboard de CloudKit.
En el dashboard encontrarás paneles de administración para los entornos producción y desarrollo.
Nota
Todo esto solo funciona si se tiene una cuenta del Apple Developer Program.
Referencia
Gauchat, J. D. (2024). SwiftUI for Masterminds: How to take advantage of Swift and SwiftUI to create insanely great apps for iPhones, iPads, and Macs (5ª ed.). John D. Gauchat.