Commit fcd398b
committed
spm: add .macCatalyst to FirebasePerformance and FirebaseInAppMessaging targets
Under SPM, the Wrap-based targets for FirebasePerformance and
FirebaseInAppMessaging gate their real product dependencies with
`.when(platforms: [.iOS, ...])` that omits `.macCatalyst`. On Mac
Catalyst, SPM therefore only links the `SwiftPM-PlatformExclude/*Wrap`
dummies (`FirebasePerformanceTarget.o` / `FirebaseInAppMessagingTarget.o`)
and never compiles the real modules.
This is speculative / discussion-only: draft PR asking whether the
Catalyst exclusion under SPM was intentional. CocoaPods consumers with
Mac Catalyst apps have historically been able to compile and link these
products via the iOS podspec slice through the `Firebase/Firebase.h`
umbrella, so the current SPM behavior is a divergence from that
historical path.
Package.swift already declares `.macCatalyst(.v15)` in
`Package.platforms` and uses `.macCatalyst` alongside `.iOS` /
`.tvOS` / `.macOS` for many other targets, so this change follows
existing style.
Source-level compile fitness on Catalyst is not verified by this change:
FirebasePerformance's Objective-C sources already special-case
`TARGET_OS_MACCATALYST` for CoreTelephony and FirebaseInAppMessaging's
sources gate on `TARGET_OS_IOS || TARGET_OS_TV || TARGET_OS_VISION`
(TARGET_OS_IOS is 1 under Catalyst), but Google CI is the ground truth.
App Distribution is intentionally left iOS-only.
Consumer context: invertase/react-native-firebase#89331 parent 1b40550 commit fcd398b
1 file changed
Lines changed: 3 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
747 | 747 | | |
748 | 748 | | |
749 | 749 | | |
750 | | - | |
| 750 | + | |
| 751 | + | |
751 | 752 | | |
752 | 753 | | |
753 | 754 | | |
| |||
883 | 884 | | |
884 | 885 | | |
885 | 886 | | |
886 | | - | |
| 887 | + | |
887 | 888 | | |
888 | 889 | | |
889 | 890 | | |
| |||
0 commit comments