Skip to main content

Requirements

SeamSDK integrates with various vendor SDKs to deliver robust access control functionality. Before you begin, confirm your environment meets the following requirements:
Some vendor SDKs that SeamSDK integrates with may have additional platform requirements. The minimum iOS version and other technical prerequisites are designed to ensure compatibility across all integrated systems.

Installation

1

Install Git LFS

SeamSDK includes large binary assets (xcframeworks) tracked via Git LFS. Install and initialize Git LFS before cloning or adding the package:
brew install git-lfs
git lfs install
2

Obtain SeamSDK

Contact your Seam representative to gain access to the SeamSDK package. The SDK is distributed as a private package.
3

Install the SDK

Choose your preferred package manager.
SeamSDK supports CocoaPods subspecs, so you can integrate only the modules you need.

Full SDK Installation

Add the following to your Podfile:
platform :ios, '15.0'

target 'YourAppName' do
  use_frameworks!

  pod 'SeamSDK', :path => 'PATH_TO_SEAM_SDK/SeamSDK.podspec'
end

Selective Module Installation

To include only specific lock-provider integrations, specify the desired subspecs:
pod 'SeamSDK/SeamDormakabaIntegration', :path => 'PATH_TO_SEAM_SDK/SeamSDK.podspec'
pod 'SeamSDK/SeamLatchIntegration', :path => 'PATH_TO_SEAM_SDK/SeamSDK.podspec'
After updating your Podfile, run:
pod install
4

Configure Xcode Settings

Disable User Script Sandboxing (CocoaPods)

If you are using CocoaPods, disable User Script Sandboxing to prevent build errors related to rsync/samba:
  1. Open your project in Xcode.
  2. Select your project in the navigator.
  3. Select your target.
  4. Go to Build Settings.
  5. Search for “sandbox”.
  6. Set User Script Sandboxing to No.

Integration with Custom SDKs

If you are developing a custom SDK that depends on SeamSDK, apply the same CocoaPods or SPM patterns described above to manage dependencies and versioning.

Basic Example

Once SeamSDK is installed, initialize and activate it in your app, then perform an unlock:
import SeamSDK

let seam = Seam.initialize(clientSessionToken: CLIENT_SESSION_TOKEN)

// Activate Seam.
try await Seam.shared.activate()

// Perform unlock.
let publisher = try Seam.shared.unlock(using: Seam.shared.credentials.first!.id)
For full API documentation and additional examples, see the Seam iOS SDK reference.

Troubleshooting

  • Ensure you have properly installed the dependency via CocoaPods or SPM.
  • Run pod install or confirm that SPM has resolved dependencies correctly.
  • Open the .xcworkspace file (not .xcodeproj) after a CocoaPods install.
Ensure Git LFS is installed (brew install git-lfs) and initialized (git lfs install). Re-clone or re-pull the repository after installing Git LFS.
Run pod update SeamSDK (CocoaPods) or use Xcode’s package resolution (File > Packages > Resolve Package Versions) to refresh SPM dependencies.
  • Confirm all dependencies are correctly installed and match the required versions.
  • Verify that BUILD_LIBRARY_FOR_DISTRIBUTION is set to YES in Build Settings.
For additional support, reach out in your dedicated Seam support Slack channel.