Application Services - Swift SDK
On this page
Overview
Realm SDKs let you connect your client apps to the App Services backend. The SDKs provide the functionality needed to authenticate users with any of the built-in authentication providers, call backend functions, and directly access a linked MongoDB data source. You can also use an Atlas App Services App to sync data between devices.
The App Client
When using the SDK to access the App Services backend, you start with a
App object. This object provides all other functionality related to
App Services. The App
object is
initialized with the App
ID, which you can find in the App Services UI.
Tip
To learn how to initialize the App client, see Connect to an Atlas App Services Backend - Swift SDK.
Authentication & User Management
One of the most challenging aspects of client development is implementing a robust and secure authentication system. With the Realm SDKs, however, you can use any of the App Services authentication providers with very minimal backend setup or client-side code required. With the authentication APIs, you can implement the following functionality:
Creation of new user accounts
User log-in and log-out
Multiple users logged on at the same time on the same device
Linking user accounts from different providers
Providing custom user data
Tip
To learn how to set up authentication with different providers, see Authenticate Users - Swift SDK.
To learn how to manage multiple users, see Multi-User Applications - Swift SDK.
To learn how to link user accounts, see Link User Identities - Swift SDK.
To learn how to provide custom user data, see Custom User Data - Swift SDK.
Calling Functions
Atlas Functions enable you to define and execute server-side logic for your application. You can call these Functions from your client applications via the Realm SDKs. These server-side functions can run under the context of the authenticated user, and thus honor the rules, roles, and permissions that you have assigned to your collections.
By using Functions, you provide a secure way for a variety of client applications to share complex functionality without having to reproduce that logic client-side.
Tip
To learn how to call Functions, see Call a Function.
Accessing MongoDB
The Realm SDKs include APIs for accessing a MongoDB Atlas instance directly. With these APIs, you can perform all of the standard CRUD operations from your client. For security, you configure server-side data access rules to dynamically determine read & write permissions for every object that is accessed.
Tip
To learn how to use the MongoDB APIs, see Query MongoDB.
Supported Operating Systems
The Realm Swift SDK supports connecting to an Atlas App Services App for a range of Apple operating systems depending on the Xcode version and Realm Swift SDK version. Connecting to an App Services App enables:
Authentication and User Management
Calling an Atlas Function
Querying a MongoDB Atlas Data Source
Device Sync
For current information about supported operating systems, refer to OS Support.
At this time, the Realm Swift SDK does not support connecting to an App Services App from watchOS.