-
Notifications
You must be signed in to change notification settings - Fork 29.7k
Description
See flutter/packages#6511 for full context.
Because the current release of the Google Maps SDK does not contain a manifest, the official docs for the Google Maps SDK instruct developers to download a separate bundle that has the manifest entries for version 8.4 and add it to their app. For posterity since that page will presumably change once there's a release with its own manifest:
- Download the Privacy Manifest bundle for the Maps SDK for iOS: GoogleMapsPrivacy.
- Extract the file to access GoogleMapsPrivacy.bundle.
- Copy GoogleMapsPrivacy.bundle into your Xcode project's top level directory.
Because there's already a lot of confusion around the whole manifest rollout, and because this is not at all standard for how manifests work in SDKs, we have opted to shield package clients from this temporary anomaly by folding the contents of that bundle directly into the plugin. Because the plugin is built statically, it has the effect of automatically putting that manifest into a bundle in the app (just with a different name, but that should be irrelevant).
Long term, we don't want to keep this workaround. Most importantly, once there's a new version of the SDK with its own manifest, the contents of that manifest could change at any time, and then our version would be wrong. So once a new version comes out with a manifest, we should revert to having an empty manifest for the plugin (since the plugin code doesn't do anything requiring manifest entries).
There is one caveat here: it may be that the first version that has a manifest also drops iOS 14 support. If that happens, we will have to decide between:
- Removing our manifest entries, setting the min SDK version to that version, and dropping iOS 14 support.
- Removing our manifest entries, not changing the constraints, and documenting in the README that users supporting iOS 14 have to do the
GoogleMapsPrivacybundle workaround themselves, manually. - Keeping our manifest entries indefinitely (in which case they will be duplicative, and potentially over time include things that aren't actually being done any more by newer SDK versions, although that seem relatively unlikely).