SnapKit / SnapKit

A Swift Autolayout DSL for iOS & OS X

Home Page:https://snapkit.github.io/SnapKit/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

privacy manifest

cashleeboy opened this issue · comments

commented

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

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

Snapkit, come back to life.

commented

+1

Someone should just do it, it's easy peasy

commented

+1

+1

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

commented

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.

@robertjpayne

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

Do you have any plans regarding Privacy Manifest??

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!

@robertjpayne Thank you for releasing 5.7.0. 😀

@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']}

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

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.

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

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

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