Repository navigation
feat: add an fcm-core subspec for apps that get Firebase from Swift Package Manager - #689
Merged
Merged
Conversation
…ackage Manager React Native Firebase 26.1+ resolves Firebase through Swift Package Manager by default, and 27 has no CocoaPods option. The fcm subspec also installs FirebaseMessaging from CocoaPods, so those apps end up with two copies of Firebase and the iOS build fails. This predates 7.0. fcm-core depends on CioFirebaseWrapper/Core, which links no Firebase and finds FirebaseMessaging at runtime. The fcm subspec is unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
Sample app builds 📱Below you will find the list of the latest versions of the sample apps. It's recommended to always download the latest builds of the sample apps to accurately test the pull request. Builds are in progress. This comment will be updated when they finish.
|
mrehan27
approved these changes
Oct 27, 2026
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
mahmoud-elmorabea
approved these changes
Oct 27, 2026
cio-mobile-release Bot
pushed a commit
that referenced
this pull request
Oct 27, 2026
## [7.1.0](7.0.0...7.1.0) (2026-10-27) ### Features * add an fcm-core subspec for apps that get Firebase from Swift Package Manager ([#689](#689)) ([195a10c](195a10c))
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.
React Native Firebase 26.1 and later adds Firebase through Swift Package Manager by default on React Native 0.75+, and 27 removed its CocoaPods option. Our
fcmsubspec also installs FirebaseMessaging from CocoaPods, so those apps end up with two copies of Firebase and the iOS build fails withMultiple commands produce ... FirebaseCore.framework. This predates 7.0.0: thefcmsubspec has always brought its own Firebase, so 6.x has the same problem.This adds an opt-in
fcm-coresubspec that depends onCioFirebaseWrapper/Core. That subspec links no Firebase and finds the app's FirebaseMessaging at runtime, which customerio-ios 5.0.0 already supports.fcm,apnandnopushare unchanged, and the README now explains when to usefcm-core. Merging releases 7.1.0.Verified locally with the 7.0.0 example app (React Native 0.83.6) on an iOS 26.5 simulator, ad-hoc signed so the app gets a real APNs token:
fcm(today)FirebaseCorefcm-corefcm-corefcm(unchanged path)A push tap and deep link with
fcm-coreon React Native Firebase 27.1 also passed in a Maestro run on Oct 26.Follow-ups, outside this PR:
fcm. Its generated extension targets also skipuse_frameworks!when frameworks are dynamic, so Expo apps on React Native Firebase defaults need a plugin change.fcm-coreyet. That's tracked in MBL-2656.Docs: customerio/docs#4691 documents the 26.x
$RNFirebaseDisableSPM = trueworkaround now. Once 7.1.0 is out, those pages can point tofcm-core.🤖 Generated with Claude Code