Static linking with React Native or Expo requires additional steps to enable dynamic framework compatibility for SeamSDK.
Prerequisites
Before following this guide, complete the standard Installation steps to add SeamSDK to your project via CocoaPods.
Step 1: Add the helper block to your Podfile
Add the following block to your Podfile. It detects all SeamSDK targets and converts them to dynamic frameworks at install time:
Step 2: Call the helpers in your post_install hook
Call both helpers inside your post_install block:
Step 3: Run pod install
Avoiding File Duplication with Expo Modules
If you are using an Expo module that includes a broad wildcard in its Podspec
(for example, s.source_files = "**/*.{h,m,mm,swift,hpp,cpp}"), do not
nest the SeamSDK folder inside that module’s directory. Otherwise,
CocoaPods may include the same files twice — once via your module’s Podspec
and again via the SeamSDK.podspec — leading to duplication or build
conflicts.
How to fix or avoid this:
-
Place the
SeamSDK folder outside your Expo module’s directory structure so it is not picked up by the module’s wildcard pattern.
-
If it must remain nested, exclude it in your Expo module’s Podspec:
This tells CocoaPods not to include the SeamSDK sources a second time.
Next Steps
- Quickstart — Initialize and activate the SDK, then perform your first unlock.
- Architecture — Understand how SeamSDK integrates with your app, the Seam Cloud, and lock hardware.