Skip to content
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

[Release Tooling] Add resources, if any, to bundle within xcframework platform slices (approach 1) #12114

Closed
wants to merge 2 commits into from

Conversation

ncooke3
Copy link
Member

@ncooke3 ncooke3 commented Nov 18, 2023

  • This PR should only affect privacy manifests to maintain Xcode 14 compat.
  • Test if SPM accepts xcframeworks with embedded resources (since there was that gRPC issue with the bundle at the root of the xcframework). If there's an issue, it may be fixed by signing the xcframework

@google-oss-bot
Copy link

1 Warning
⚠️ Did you forget to add a changelog entry? (Add #no-changelog to the PR description to silence this warning.)

Generated by 🚫 Danger

@ncooke3 ncooke3 marked this pull request as draft November 18, 2023 01:23
@ncooke3 ncooke3 changed the title [Release Tooling] Add resources, if any, to bundle within xcframework platform slices [Release Tooling] Add resources, if any, to bundle within xcframework platform slices (approach 1) Nov 18, 2023
@ncooke3 ncooke3 mentioned this pull request Jan 27, 2024
Copy link
Member

@paulb777 paulb777 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like we need this for 10.21.0 now that GTMSessionFetcher has a privacy manifest.

Anything else needed to be done before merging?

@paulb777 paulb777 added this to the 10.21.0 - M143 milestone Jan 27, 2024
@ncooke3
Copy link
Member Author

ncooke3 commented Jan 27, 2024

Anything else needed to be done before merging?

Yes, the issue with this PR is that it changes the DevX for zip customers still using Xcode 14. As of the latest release, the Firebase.zip has three resources:

./FirebaseInAppMessaging/Resources/InAppMessagingDisplayResources.bundle
./FirebaseFirestore/Resources/gRPCCertificates-Cpp.bundle
./GoogleSignIn/Resources/GoogleSignIn.bundle

These resources are moved inside the xcframework they correspond to, so the integration instructions will be more complex (e.g. "for each of these SDKs that contain non-privacy manifest related resource bundles, copy the resource bundle out of a platform slice and add it to your app".

I have some work locally I did a few weeks back that changes this PR's implementation to do the following:

  • Don't change the locations of the existing resource bundles in the zip
  • For resource bundles containing privacy manifests, embed them within the XCFramework.

This alternative approach is Xcode 14 friendly.

@paulb777
Copy link
Member

Thanks. I believe we can drop the gRPC resource file since Firestore doesn't use it - it gets the contents from code. That would address #9184 and reduce the usability impact of this change.

@paulb777 paulb777 removed this from the 10.21.0 - M143 milestone Jan 28, 2024
@ncooke3 ncooke3 closed this Jan 28, 2024
@firebase firebase locked and limited conversation to collaborators Feb 27, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants