-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Firestore] Combine Firestore
and FirestoreSwift
into a single module
#11321
Closed
Conversation
This file contains 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
✅ No API diff detectedCommit: 08bb33e |
…ePodTest/FirebasePodTest/AppDelegate.swift'
…ePodTest/Podfile'
…e/FirestoreSample.xcodeproj/'
…e/FirestoreSample'
Checkpoint– 995e536 has all tests except expected QS failure. |
At this point, the only remaining
|
Closing in favor of #11806 |
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
This is experimental and not for merging.
Context
Merged the FirestoreSwift pod into the Firestore pod
swiftmodule
(FirebaseFirestore) exporting API from a source Swift target (SharedSwift). The issue is that FirebaseFirestore's .swiftmodule file is built withBUILD_LIBRARY_FOR_DISTRIBUTION=YES
(this is required; see https://forums.developer.apple.com/thread/125646), but is trying to export a type (see theFirebaseSharedSwift
'sFirebaseData(En|De)Coder
types in Firestore's Swift source) from a Swift module (FirebaseSharedSwift
) that isn't builtBUILD_LIBRARY_FOR_DISTRIBUTION=YES
(this is because SPM does not offer a way to setBUILD_LIBRARY_FOR_DISTRIBUTION=YES
for source targets). The issue surfaces during the linking phase and materializes in a several undefined symbol errors from theFirebaseSharedSwift
module (as ABI stable symbols cannot be found). The solution is to convertFirebaseSharedSwift
's release distribution from source to binary, since binaries give allows us to setBUILD_LIBRARY_FOR_DISTRIBUTION=YES
.Built an xcframework from the combined Firestore pod
Expand to see the `zip-builder` invocation
Manually tested SPM integration with the Firestore QS
Remaining Work