Add the following block to your Podfile. It detects all SeamSDK targets and converts them to dynamic frameworks at install time:
# ============================================================================# Dynamic Framework Support for SeamSDK with Static Linking# ============================================================================SEAM_DEPENDENCIES = Set.newdef collect_dependent_targets(target, dependencies = Set.new) return dependencies if dependencies.include?(target.name) dependencies.add(target.name) target.dependent_targets.each do |dependent| collect_dependent_targets(dependent, dependencies) end dependenciesenddef setup_seam_dynamic_frameworks(installer) seam_target = installer.pod_targets.find { |target| target.name.start_with?('SeamSDK') } SEAM_DEPENDENCIES.merge(collect_dependent_targets(seam_target)) puts "Converting to dynamic frameworks: #{SEAM_DEPENDENCIES.to_a.join(', ')}" installer.pod_targets.each do |pod| if SEAM_DEPENDENCIES.include?(pod.name) def pod.build_type Pod::BuildType.dynamic_framework end end endenddef configure_seam_dynamic_frameworks(installer) installer.pods_project.targets.each do |target| if SEAM_DEPENDENCIES.include?(target.name) target.build_configurations.each do |config| config.build_settings['BUILD_LIBRARY_FOR_DISTRIBUTION'] = 'YES' end end endend# ============================================================================
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:
s.exclude_files = "**/SeamSDK/**/*"
This tells CocoaPods not to include the SeamSDK sources a second time.