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

Adds iOS privacy manifest. #1462

Merged
merged 2 commits into from
Mar 18, 2024
Merged

Adds iOS privacy manifest. #1462

merged 2 commits into from
Mar 18, 2024

Conversation

mvanbeusekom
Copy link
Member

@mvanbeusekom mvanbeusekom commented Mar 18, 2024

Adds the required privacy manifest to the iOS implementation.

Because the geolocator_apple package doesn't collect any privacy data, the privacy manifest can be empty.

Note that we are following the standard Flutter / Cocoapods implementation which has the following caveat:

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, 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.

Source: flutter/packages@c5349bc

Solves #1360

Pre-launch Checklist

  • I made sure the project builds.
  • I read the Contributor Guide and followed the process outlined there for submitting PRs.
  • I updated pubspec.yaml with an appropriate new version according to the pub versioning philosophy, or this PR is does not need version changes.
  • I updated CHANGELOG.md to add a description of the change.
  • I updated/added relevant documentation (doc comments with ///).
  • I rebased onto main.
  • I added new tests to check the change I am making, or this PR does not need tests.
  • I made sure all existing and new tests are passing.
  • I ran dart format . and committed any changes.
  • I ran flutter analyze and fixed any errors.

@mvanbeusekom mvanbeusekom merged commit 82a8e38 into main Mar 18, 2024
1 check passed
@mvanbeusekom mvanbeusekom deleted the issue/1360 branch March 18, 2024 09:55
aboedo pushed a commit to RevenueCat/purchases-ios that referenced this pull request Mar 26, 2024
### Motivation
The library already includes Privacy.xcprivacy in SPM, but when used
with CocoaPods (mandatory in Flutter), these files are not exported as
the podspec does not include that file as a resource bundle.

### Description
Listing the PrivacyInfo.xcprivacy file inside the resource_bundles
specification in the podspec allows to distribute the file correctly.
Ref.
CocoaPods/CocoaPods#10325 (comment)

This GitHub issue contains the entire discussion on how to add these
xcprivacy files and is referenced in multiple places; many libraries
already follow this approach:


https://github.com/firebase/firebase-ios-sdk/blob/main/FirebaseCrashlytics.podspec
SDWebImage/SDWebImage#3649
flutter/packages#5846
Baseflow/flutter-permission-handler#1291
Baseflow/flutter-geolocator#1462
aboedo added a commit to RevenueCat/purchases-ios that referenced this pull request Mar 27, 2024
#3775)

### Motivation
The library already includes Privacy.xcprivacy in SPM, but when used
with CocoaPods (mandatory in Flutter), these files are not exported as
the podspec does not include that file as a resource bundle.

### Description
Listing the PrivacyInfo.xcprivacy file inside the resource_bundles
specification in the podspec allows to distribute the file correctly.
Ref.

CocoaPods/CocoaPods#10325 (comment)

This GitHub issue contains the entire discussion on how to add these
xcprivacy files and is referenced in multiple places; many libraries
already follow this approach:



https://github.com/firebase/firebase-ios-sdk/blob/main/FirebaseCrashlytics.podspec
SDWebImage/SDWebImage#3649
flutter/packages#5846
Baseflow/flutter-permission-handler#1291
Baseflow/flutter-geolocator#1462

Co-authored-by: Sergio Durban Belmonte <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants