System Components
SeamSDK connects four main components:- Mobile App — Your iOS application, written in Swift, that calls the Seam SDK.
- SeamSDK — A native library responsible for credential management, unlock flows, and event streaming.
- Seam Cloud API — The cloud service that provisions credentials, handles revocation, and provides analytics.
- Lock Hardware — Physical locks that communicate over BLE and/or NFC.
Unlock Sequence
The following sequence shows what happens from initialization through a successful unlock:1
Initialization
Your app calls
Seam.initialize(clientSessionToken:) and then activate().2
Credential Fetch
The SDK automatically fetches and keeps credentials up to date by syncing with Seam Cloud.
3
Unlock Request
Your app invokes
unlock(using: credentialId).4
Connection
The SDK connects to the lock via BLE or NFC.
5
Authentication and Confirmation
The lock authorizes the credential and responds.
6
Event Stream
The SDK emits
SeamUnlockEvent values: launched, grantedAccess, and others.7
Completion
Your app handles the events and updates its UI accordingly.
Key Data Types
Security and Offline Support
- Secure Transport — All API calls use HTTPS. Lock communication is secured by the lock vendor’s protocol.
- Keychain Storage — Tokens and other sensitive data are stored in the iOS Keychain.
- Offline Support — SeamSDK supports offline usage. Credentials are cached locally so that unlock attempts and recent credential data remain available during network interruptions.
See Also
- Quickstart — How to initialize SeamSDK and perform your first unlock.
- Error Handling — How to interpret and handle errors emitted by SeamSDK.