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

[url_launcher] Address privacy manifest requirement #139759

Closed
stuartmorgan opened this issue Dec 7, 2023 · 2 comments · Fixed by flutter/packages#5846
Closed

[url_launcher] Address privacy manifest requirement #139759

stuartmorgan opened this issue Dec 7, 2023 · 2 comments · Fixed by flutter/packages#5846
Assignees
Labels
p: url_launcher Plugin to launch external applications P1 High-priority issues at the top of the work list package flutter/packages repository. See also p: labels. platform-ios iOS applications specifically team-ios Owned by iOS platform team

Comments

@stuartmorgan
Copy link
Contributor

This plugin is listed on https://developer.apple.com/support/third-party-SDK-requirements/ as requiring a privacy manifest. It's not currently clear why; we'll need to clarify why it's there and then either

  • add a privacy manifest, and figure out how to embed it, or
  • have it removed from the list if it's there in error.

See #131940 for context.

@stuartmorgan stuartmorgan added platform-ios iOS applications specifically p: url_launcher Plugin to launch external applications package flutter/packages repository. See also p: labels. P1 High-priority issues at the top of the work list team-ios Owned by iOS platform team labels Dec 7, 2023
@stuartmorgan stuartmorgan self-assigned this Dec 7, 2023
@stuartmorgan
Copy link
Contributor Author

The guidance we have received is:

If an SDK doesn’t collect any data, then a privacy manifest should be provided outlining that no data is collected.

So we'll need to bundle an "empty" manifest.

Copy link

This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of flutter doctor -v and a minimal reproduction of the issue.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Jan 26, 2024
zhouyuanbo pushed a commit to zhouyuanbo/video_player_avfoundation_2.6.1 that referenced this issue May 24, 2024
Adds privacy manifests to all iOS plugins.

While we only *need* to do the plugins listed [here](https://developer.apple.com/support/third-party-SDK-requirements/) for now, the wording of the page:
> The following are commonly used SDKs in apps on the App Store

suggests that the list of things for which this is required is just an arbitrary cutoff rather than a conceptual distinction, so it seems safest to just assume the list will grow over time and do all of them. To ensure that, this includes new repo tooling to check that a manifest is specified in the podspec.

The large caveat is that we do not currently know if this actually works. This is the method of inclusion that seems to be [the consensus among people using Cocoapods](CocoaPods/CocoaPods#10325), as bundling it directly as a `resource` causes problems for clients who do not use `use_frameworks`. (In theory it seems like a manifest would not actually be *required* in that case since there is no framework, but it has the potential to actually stomp top-level resources.) Hopefully the automated analysis that Apple will eventually roll out will tolerate the file being bundled in a resource bundle in the framework rather than a top-level manifest file. If not, however, it's not clear how Cocoapods can be supported, so we can adopt this common approach for now under the assumption that eventually tooling will adapt to the reality of the ecosystem, and revisit the exact bundling later if necessary.

Only `shared_preferences` has a non-empty manifest, as it is our only plugin that uses a required reason API, and none of our plugins themselves collect private data. Ideally for that plugin we would instead use `C56D.1`, which is for wrappers, but as currently written we can't use it since it's exclusively a wrapper. If that changes in the future based on our pending request, we can revisit. For now, however, this reason should suffice since we don't currently allow reading from other app groups.

Fixes flutter/flutter#131495
Fixes flutter/flutter#139756
Fixes flutter/flutter#139757
Fixes flutter/flutter#139758
Fixes flutter/flutter#139759
Fixes flutter/flutter#139760
See also flutter/flutter#139761
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
p: url_launcher Plugin to launch external applications P1 High-priority issues at the top of the work list package flutter/packages repository. See also p: labels. platform-ios iOS applications specifically team-ios Owned by iOS platform team
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant