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

privacy manifest #786

Closed
cashleeboy opened this issue Nov 22, 2023 · 18 comments
Closed

privacy manifest #786

cashleeboy opened this issue Nov 22, 2023 · 18 comments

Comments

@cashleeboy
Copy link

This repo needs to provide a privacy manifest, as described here: https://developer.apple.com/news/?id=av1nevon, thank a lot.

@infinitepower18
Copy link

This package has been explicitly mentioned by Apple as one of the packages that must include a manifest. https://developer.apple.com/support/third-party-SDK-requirements

@wlxo0401
Copy link
Contributor

Snapkit, come back to life.

@zeroskylian
Copy link

+1

@isaac-weisberg
Copy link

Someone should just do it, it's easy peasy

@lambda123254
Copy link

+1

2 similar comments
@ZYHshao
Copy link

ZYHshao commented Dec 26, 2023

+1

@18320537910
Copy link

+1

@wlxo0401
Copy link
Contributor

I submitted one PR for 'Privacy Manifest'. But I'm not sure.

Let's check together, find problems, improve them together and try to get into a new version.

@zeroskylian @cashleeboy @infinitepower18 @isaac-weisberg @lambda123254 @ZYHshao @18320537910

@zeroskylian
Copy link

I submitted one PR for 'Privacy Manifest'. But I'm not sure.

Let's check together, find problems, improve them together and try to get into a new version.

@zeroskylian @cashleeboy @infinitepower18 @isaac-weisberg @lambda123254 @ZYHshao @18320537910

Thanks, I just simply checked that SnapKit does not use these APIs from https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/describing_use_of_required_reason_api . I don’t know if there are other APIs. If so, please help add them.

@wlxo0401
Copy link
Contributor

wlxo0401 commented Dec 27, 2023

@robertjpayne

A lot of time has passed since the last SnapKit update.

Do you have any plans regarding Privacy Manifest??

@robertjpayne
Copy link
Member

But late, but it's landed in 5.7.0. Cannot support Cocoapods because it has an open PR for support for this but if you use the framework directly or via Swift PM it should be good.

Open a new issue if not thanks all!

@drewolbrich
Copy link

drewolbrich commented Dec 31, 2023

@robertjpayne Thank you for releasing 5.7.0. 😀

@hystericcore
Copy link

@robertjpayne Thanks for the update!

I noticed that version 5.7.0 doesn't currently support cocoapods.

I've read the Cocoapods PR and seems we can include a privacy manifest with resource_bundles. Would it be possible for you to update podspec similarly to that?

   s.resource_bundles = {'SnapKit' => ['Sources/PrivacyInfo.xcprivacy']}

@robertjpayne
Copy link
Member

@hystericcore if you read further down the issue that isn't a workable solution since the resource bundle is part of all pods installed and thus you end up with conflicts.

Until Cocoapods provides an appropriate solution I wont really attempt to resolve it. For those that are using Cocoapods I'd recommend using custom build steps or something to integrate the privacy manifests required.

@robertjpayne
Copy link
Member

robertjpayne commented Jan 8, 2024

My professional and personal opinion is that people should migrate away from Cocoapods as soon as reasonable to do so. Most dependencies can be integrated via Swift PM or in cases with more specific build requirements Carthage provides isolation at a per-dependency level.

I know there are some bigger projects (looking at you react-native) that will only work with Cocoapods. It'll be interesting to see how they resolve the privacy manifest issue before Spring 2024.

@mjburghard
Copy link

@robertjpayne I do agree with your opinion that people should migrate away from Cocoapods. The solution suggested by @hystericcore seems to work for other pods though. What's not working is using s.resources.
Using s.resource_bundles causes the generation of SnapKit.bundle/PrivacyInfo.xcprivacy inside SnapKit.framework.
I am happy to follow up with a PR based on my local testing.

@dcacenabes
Copy link
Contributor

Hi there! I took the freedom of opening the PR adding resource_bundles. As pointed out by @mjburghard resource_bundles are safe to use since they do not cause name collisions.
#798

This is how Google is adding support for Privacy manifest to their dependencies. More details can be found here

@wlxo0401
Copy link
Contributor

wlxo0401 commented Jan 26, 2024

I discovered a new while testing.

Until now, most of the libraries that have added PrivacyInfo have not been marked in PrivacyReport.

However, when an item is added to the 'Privacy Nutrition Label Types', the library name is displayed in the PrivacyReport.

Many libraries have updated PrivacyInfo without adding anything from 'Privacy Nutrition Label Types'.

Does anyone know about this? Is 'Privacy Nutrition Label Types' a must-have item?

Or is it not necessary to display it in the privacy report?

Please feel free to leave opinion.

The 'PrivacyReport' I'm talking about can be downloaded as a PDF if you archive the app.

https://developer.apple.com/videos/play/wwdc2023/10060/
Please refer to 3:20.

  1. Open your project in Xcode.

  2. Choose Product > Archive. Xcode creates the archive and reveals it in the organizer.

  3. Control-click the archive in the organizer and choose Generate Privacy Report.

(I used a translator.)

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

No branches or pull requests