Skip to main content
Interim hand-authored reference. These pages are authored directly from the SeamSDK public Swift sources as the day-one source of truth. The long-term plan (DOC-224) is to generate them from Swift-DocC (xcodebuild docbuild), which requires macOS + Xcode. See mintlify-codegen/ios-reference/README.md for details.
SeamSDK is a Swift library for mobile key management. It handles fetching, interpreting, and using secure credentials issued to users for physical access, with support for synchronization, unlock flows, advanced error handling, and offline caching.

Quick Start

// 1. Initialize at app launch
try Seam.initialize(clientSessionToken: "your_client_session_token")

// 2. Activate to begin credential sync
await Seam.shared.activate()

// 3. Observe credentials in SwiftUI
@StateObject var seam = Seam.shared
// seam.credentials — [SeamCredential] auto-updates

Classes

Seam

The main entry point. Manages SDK lifecycle, credential sync, and unlock operations. Conforms to ObservableObject for SwiftUI integration.

SeamSDKService

An Objective-C–compatible bridge that wraps Seam for use from React Native, Flutter, and other cross-platform runtimes.

Structures

SeamCredential

An immutable snapshot of a single access credential — its name, location, expiry, supported unlock proximities, and any active errors.

Enumerations

SeamError

Errors thrown by Seam for initialization, usage, and credential-precondition failures.

SeamCredentialError

Credential-specific errors, including the RequiredUserInteraction sub-enum that describes actions the user must take.

SeamUnlockEvent

Events emitted by the unlock publisher as an unlock operation progresses from launch to access granted, timeout, or failure.

SeamUnlockProximity

The required physical proximity for an unlock attempt: .touch, .nearby, or .remote.

Extensions

Extensions

Public extensions on String and PKAutomaticPassPresentationSuppressionResult provided by SeamSDK.