Correct SPM + Purchase Connector guidance: mutually exclusive - #462
Merged
Conversation
…xable Investigation (prompted by a question on whether PC-via-CocoaPods and Core-via-SPM can coexist) found CI evidence that Flutter's tooling may silently drop the CocoaPods PurchaseConnector integration once it decides a plugin is SPM-eligible, even when the app's Podfile still sets $AppsFlyerPurchaseConnector = true. This was not conclusively resolved either way, so rather than continuing to investigate, doc/Installation.md and doc/PurchaseConnector.md now state plainly: apps using Purchase Connector must not enable SPM for this plugin at all — use CocoaPods for both Core and Purchase Connector. Apps that don't use Purchase Connector can use SPM freely. F-060 updated to match: the "hybrid" E2E run is now described accurately (no link crash, but does not demonstrate PurchaseConnector functions in that configuration) rather than as a validated supported path. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
al-af
approved these changes
Jul 26, 2026
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.
Summary
Follow-up to #459 (merged). #459 shipped guidance saying SPM (for Core) and CocoaPods (for Purchase Connector) can be used simultaneously — "Flutter's tooling will use SPM for Core and CocoaPods for Purchase Connector at the same time." That claim was not fully verified before merging.
Investigated after merge: CI logs suggest Flutter's tooling may silently drop the CocoaPods
PurchaseConnectorpod once it decides a plugin is SPM-eligible, even when$AppsFlyerPurchaseConnector = trueis set in the Podfile. A local build with both configured at once did succeed (no duplicate-symbol link crash), but that doesn't prove Purchase Connector actually functions in that configuration — no test exercises a PC API. Rather than continue investigating, this PR corrects the guidance to state plainly:Apps using Purchase Connector must not enable SPM for this plugin at all — use CocoaPods for both Core and Purchase Connector. SPM is only for apps that don't use Purchase Connector.
Changes
doc/Installation.md: SPM section now says not to enable SPM if you use Purchase Connector, instead of implying the two can be combined.doc/PurchaseConnector.md: same correction, with the reasoning.internal-docs/features/F-060-swift-package-manager-support.md: the "hybrid" E2E run is now described accurately — it demonstrates no build/link crash, not that Purchase Connector functions in that configuration.No code changes — Purchase Connector was already CocoaPods-only. This only corrects what we claimed about combining it with SPM.
🤖 Generated with Claude Code