Docs Menu

SDK de dispositivos Atlas para Swift

Utilice Atlas Device SDK para Swift para desarrollar aplicaciones iOS, macOS, watchOS y tvOS en Swift y Objective-C.

Rutas de aprendizaje
Icono de funciones

Inicio rápido

Ejemplos de código con una explicación mínima sobre cómo trabajar con el SDK de Swift. Escribir en la base de datos del dispositivo y sincronizar con otros dispositivos.

Ver ejemplos de código

Icono de Realm Mobile

Aplicación de ejemplo funcional

Aprenda del ejemplo analizando una aplicación cliente SwiftUI que funciona y que utiliza el Swift SDK.

Explorar una aplicación de ejemplo

Icono de tutorial

Tutorial guiado

Siga un tutorial guiado para aprender a adaptar la aplicación de ejemplo para crear su propia aplicación funcional.

Sigue el tutorial

Qué puedes hacer

Utilice la base de datos de código abierto del SDK (Realm) como almacén de objetos en el dispositivo. Utilice Device Sync para mantener los datos sincronizados con su clúster de MongoDB Atlas y otros clientes.

1

Usa Swift Package Manager, CocoaPods o Carthage para Instalar el SDK para iOS, macOS, tvOS y watchOS en tu Proyecto.

Importación RealmSwift en los archivos de su proyecto para comenzar.

2

Utiliza Swift para definir idiomáticamente un esquema de objeto.

3

La base de datos del SDK (Realm) almacena objetos en archivos en su dispositivo. También puede abrir una base de datos en memoria que no crea ningún archivo. Configure y abra una base de datos para especificar las opciones de su archivo de base de datos.

4

Cree, lea, actualice y elimine objetos de la base de datos del dispositivo. Filtre los datos con la sintaxis .where del SDK, que permite la seguridad de tipos, o construya un NSPredicate.

5

Los objetos activos garantizan que tus datos estén siempre actualizados. Puedes registrar un controlador de notificaciones para detectar cambios y ejecutar acciones lógicas, como actualizar tu interfaz de usuario. O bien, en SwiftUI, usa los wrappers de propiedades de Swift para actualizar las vistas cuando cambien los datos.

Ilustración móvil del SDK del dispositivo Atlas
1

Configura la sincronización de dispositivos en una aplicación de App Services. Define las reglas de acceso a los datos. Usa el modo de desarrollo para inferir tu esquema a partir de tu modelo de datos de Swift u Objective-C.

Luego, conéctate al backend desde tu cliente.

2

Utilice uno de nuestros proveedores de autenticación para autenticar a un usuario. App Services proporciona acceso a proveedores de autenticación populares, como Apple, Google o Facebook. Utilice nuestro proveedor de correo electrónico y contraseña integrado para gestionar usuarios sin necesidad de terceros, o utilice la autenticación JWT personalizada para integrarla con otros proveedores. La autenticación anónima proporciona acceso sin necesidad de iniciar sesión ni conservar los datos del usuario.

3

Configurar y abrir una base de datos sincronizada. Suscribirse a una consulta para determinar qué datos puede leer y escribir la base de datos sincronizada.

4

Las API para leer y escribir datos son las mismas, independientemente de si se utiliza una base de datos sincronizada o no. Los datos que se leen y escriben en el dispositivo se mantienen sincronizados automáticamente con el clúster de Atlas y otros clientes. Las aplicaciones siguen funcionando sin conexión y sincronizan los cambios de forma determinista siempre que haya una conexión de red disponible.

Ilustración de sincronización de dispositivos

El SDK de Swift ofrece envoltorios de propiedades y funciones prácticas diseñadas para facilitar el trabajo con SwiftUI. Para ver ejemplos de código que muestran patrones comunes de SwiftUI, consulte la documentación de SwiftUI.

Los envoltorios de propiedades de SwiftUI ofrecen integración con Realm/SwiftUI
struct SearchableDogsView: View {
@ObservedResults(Dog.self) var dogs
@State private var searchFilter = ""
var body: some View {
NavigationView {
// The list shows the dogs in the realm.
List {
ForEach(dogs) { dog in
DogRow(dog: dog)
}
}
.searchable(text: $searchFilter,
collection: $dogs,
keyPath: \.name) {
ForEach(dogs) { dogsFiltered in
Text(dogsFiltered.name).searchCompletion(dogsFiltered.name)
}
}
}
}
}
Ilustración móvil del SDK del dispositivo Atlas

Puede llamar a funciones sin servidor desde su aplicación cliente que se ejecutan en un backend de App Services.

Puede consultar datos almacenados en MongoDB directamente desde el código de su aplicación cliente.

Autentica a los usuarios con proveedores de autenticación integrados y de terceros. Usa el usuario autenticado para acceder a App Services.

Ilustración de servicios de aplicaciones
Documentación esencial
Icono del reino

Referencia de la API de Swift

Explora los docs de referencia generados para las API Swift del SDK.

Referencia de la API de Swift

Icono del reino

Referencia de API de Objective-C

Explore los documentos de referencia generados para las API de Objective-C del SDK.

Referencia de API de Objective-C

Icono de tutorial

Inicio rápido de SwiftUI

Comience a desarrollar con SwiftUI.

Explorar el inicio rápido

Explora proyectos de ejemplo de ingeniería y de expertos para aprender las mejores prácticas y patrones de desarrollo comunes con el SDK de Swift. Consulta la página de Proyectos de Ejemplo para ver más aplicaciones de ejemplo.

Ícono de sincronización asimétrica

Datos analíticos/telemétricos

Tome lecturas de sensores, envíe datos a Atlas y muestre los resultados en gráficos de Atlas o en una colección de series de tiempo.

Aplicación de ejemplo

Icono de transferencia móvil en la nube

Cambio de estado de conexión y manejo de errores

Conozca las mejores prácticas sobre cómo manejar errores de sincronización y restablecimientos de clientes.

Aplicación de ejemplo

Icono de reino sin conexión

Inicio de sesión sin conexión y acceso a la base de datos

Inicie sesión como usuario de Device Sync y abra una base de datos sincronizada sin conexión.

Aplicación de ejemplo

Icono de transacción

Integración de compras dentro de la aplicación

Utilice StoreKit para agregar compras dentro de la aplicación a una aplicación de biblioteca de recetas habilitada para sincronización de dispositivos.

Aplicación de ejemplo