Pre-built SwiftUI views for unlocking, credential handling, error states, and feedback — ready to drop into your iOS app and fully customizable to match your brand.
- 🚀 Fast integration — Add complete access flows in minutes with
SeamAccessView. - 🎨 Customizable — White-label theming via
SeamTheme(colors, fonts, key cards, toasts, unlock cards). - ✅ Production-ready — Includes error handling, retries, haptics, and feedback out of the box.
- 🔗 Seam SDK integration — Works seamlessly with Seam Mobile SDK.
- 🧩 Composable — Use all-in-one views or mix with your own UI.
- Xcode 15+
- iOS 16+
- Swift Package Manager
Add Seam Mobile Components to your project using Swift Package Manager:
dependencies: [
.package(url: "https://github.com/seamapi/iOS", from: "1.0.0")
]Then import it:
import SeamComponentsThe fastest way to get started is with SeamAccessView, which orchestrates all underlying components to deliver a complete unlock experience:
import SwiftUI
import SeamComponents
struct ContentView: View {
var body: some View {
SeamAccessView()
}
}That’s it — you now have a fully functional unlock UI in your app.
SeamAccessView automatically hooks into the SDK for device discovery, credential management, and unlock flows.
Seam Mobile Components are fully brandable using SeamTheme. Apply your own colors, fonts, and styles globally or locally:
let customTheme = SeamTheme(
colors: .default.with(accent: .orange),
fonts: .default.with(largeTitle: .system(size: 36, weight: .bold)),
keyCard: .default.with(cornerRadius: 20)
)
SeamAccessView()
.environment(\.seamTheme, customTheme)Learn more in the Theming Guide.
Issues and pull requests are welcome! Please open a GitHub issue for bugs, feature requests, or integration questions.