The App client is the interface to the App Services backend. It provides access to the authentication functionality, functions, querying a MongoDB Atlas data source, and Device Sync.
Nota
Apple Privacy Manifest
El manifiesto de privacidad de Apple del SDK no cubre la conexión a Atlas ni el uso de datos a través del cliente de la aplicación. Si su aplicación se conecta a los Servicios de la Aplicación y pretende distribuirla a través de la App Store de Apple, es posible que deba proporcionar sus propias divulgaciones en el manifiesto de privacidad de Apple de su aplicación.
Para más información, consulta el Apple Privacy Manifest.
Access the App Client
Pase el ID de la aplicación para su aplicación, que puede encuéntrelo en la interfaz de usuario de servicios de aplicaciones.
let app = App(id: YOUR_APP_SERVICES_APP_ID) // replace YOUR_APP_SERVICES_APP_ID with your App ID
Configuración
Puede pasar un objeto de configuración a App:
let configuration = AppConfiguration( baseURL: "https://services.cloud.mongodb.com", // You can customize base URL transport: nil, // Custom RLMNetworkTransportProtocol defaultRequestTimeoutMS: 30000 ) let app = App(id: "my-app-services-app-id", configuration: configuration)
Puedes crear varias instancias de un cliente de aplicación para conectarte a múltiples aplicaciones. Todas las instancias de cliente de aplicación que comparten el mismo ID de la aplicación utilizan la misma conexión subyacente.
Importante
Changing an App Config After Initializing the App
Starting with Swift SDK version 10.46.0, you can change a baseURL in the App config and the App client uses the new baseURL. In Swift SDK versions 10.45.3 and earlier, when you initialize the App client, the configuration is cached internally. Attempting to close an App and then re-open it with a changed configuration within the same process has no effect. The client continues to use the cached configuration.
Sincronización de uso compartido de conexión
New in version 10.41.0.
Puede establecer el valor enableSessionMultiplexing booleano en AppConfiguration para especificar si Realm Swift SDK debe abrir una conexión al servidor para cada reino sincronizado o compartir una conexión al servidor para todos los reinos sincronizados.
Si no especifica un valor para este valor bool, Realm, por defecto, usa el uso compartido de una única conexión por usuario de aplicación Services para todos los realms sincronizados.
let configuration = AppConfiguration(enableSessionMultiplexing: false) let app = App(id: YOUR_APP_SERVICES_APP_ID, configuration: configuration)
Opciones de tiempo de espera de sincronización
New in version 10.41.0.
Puedes establecer varias opciones de tiempo de espera de sincronizar en la AppConfiguration. La propiedad syncTimeouts puede aceptar un objeto SyncTimeoutOptions para anular los valores por defecto de estas configuraciones.
Para obtener una lista completa de los ajustes de tiempo de espera disponibles y sus definiciones, consulte RLMSyncTimeoutOptions.
let syncTimeoutOptions = SyncTimeoutOptions( connectTimeout: 30000, connectionLingerTime: 5000, pingKeepalivePeriod: 10000, pongKeepaliveTimeout: 10000, fastReconnectLimit: 30000 ) let configuration = AppConfiguration(syncTimeouts: syncTimeoutOptions) let app = App(id: YOUR_APP_SERVICES_APP_ID, configuration: configuration)
Sistemas operativos compatibles
El SDK de Realm Swift permite la conexión a una aplicación de Atlas App Services para diversos sistemas operativos de Apple, según la versión de Xcode y la versión del SDK de Realm Swift. Conectarse a una aplicación de App Services permite:
Authentication and User Management
Llamar a una función Atlas
Querying a MongoDB Atlas Data Source
Device Sync
For current information about supported operating systems, refer to OS Support.
Por ahora, el Realm Swift SDK no ofrece soporte para la conexión a una App Services App desde watchOS.