SDK-290 Add Expo Config Plugin and Fix Static Linkage Swift Header Import#813
Open
joaodordio wants to merge 9 commits intomasterfrom
Open
SDK-290 Add Expo Config Plugin and Fix Static Linkage Swift Header Import#813joaodordio wants to merge 9 commits intomasterfrom
joaodordio wants to merge 9 commits intomasterfrom
Conversation
|
Coverage Impact This PR will not change total coverage. 🚦 See full report on Qlty Cloud »🛟 Help
|
lposen
reviewed
Feb 6, 2026
…r import" This reverts commit 28fe855.
…e Swift version to 5.3
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

🔹 JIRA Ticket(s) if any
✏️ Description
Problem
Integrating the Iterable React Native SDK in Expo managed workflows requires complex manual configuration:
This leads to recurring build failures:
'Iterable_React_Native_SDK-Swift.h' file not foundSolution
1. Expo Config Plugin
New plugin at
plugin/src/that automates iOS build configuration duringexpo prebuild:Autolinking Exclusion (
withIterableAutolinking.ts):@iterable/react-native-sdkfrom iOS autolinking to prevent duplicate entriesPodfile Transformation (
withIterablePodfile.ts):use_frameworks! :linkage => :staticis set (Expo requirement):linkage => :dynamicoverrideIterableNotificationstarget for push extensionsUsage:
{ "expo": { "plugins": [ ["@iterable/react-native-sdk", { "enableNotificationExtension": true }] ] } }2. Swift Header Import Fix
Updated
RNIterableAPI.mmto use conditional import for static framework builds:3. Podspec Updates
Added to
Iterable-React-Native-SDK.podspec:SWIFT_OBJC_INTERFACE_HEADER_NAMEsettingHEADER_SEARCH_PATHSfor generated Swift header locationFiles Changed
plugin/src/index.tsplugin/src/withIterableAutolinking.tsplugin/src/withIterablePodfile.tsplugin/__tests__/plugin.test.tsios/RNIterableAPI/RNIterableAPI.mmIterable-React-Native-SDK.podspecpackage.jsonTesting
yarn build- SDK and plugin compile successfullyyarn test:plugin- All plugin tests passyarn ios- No Swift header errorsnpx expo prebuild- Correct Podfile outputDependencies
iterable-swift-sdkversion 6.6.5+ with C linkage header fixes