Closed Fab1n closed 2 months ago
Hi there - Can you try to generate the privacy report following this documentation from Apple? Let us know if you have any issues. We believe the current location of the Privacy manifest is correct from archives we've submitted in the past.
Cheers
Thank you for your help @nauaros. I checked again and compared against a lib like FirebaseCrashlytics
, which does it correctly.
First of all it doesn't really matter where in the repository the privacy info is located, so the root folder is ok. The problem is, that in Adyen's Package.swift
the privacy manifest file is referenced as .process("PrivacyInfo.xcprivacy")
expecting this is referring to the file at the root folder:
https://github.com/Adyen/adyen-ios/blob/17820c15847335b5238c3ed7871b47979e669d70/Package.swift#L85-L96
But it is relative to the Adyen
folder where there is no such file:
https://github.com/Adyen/adyen-ios/blob/17820c15847335b5238c3ed7871b47979e669d70/Package.swift#L90
This is why when you build an App that includes the SPM package of Adyen
there is no PrivacyInfo.xcprivacy
contained in the resulting Adyen_Adyen.bundle
inside the build products dir.
For Firebase Crashlytics this is the case though, as for all the others, which have set up the path correctly.
Here are some screenshots of the different bundles from the SPM packages built inside the build products dir:
I have attached the AdyenTest app for you as a minimal project to demonstrate the issue for you. The screenshots of the build product above are from the actual build products folder of this project. AdyenTest.zip
The documentation you link to is not from Apple. Here is the official documentation for SPM: https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/adding_a_privacy_manifest_to_your_app_or_third-party_sdk#4336749
Apple shows exactly what I mean.
They do .process("PrivacyInfo.xcprivacy")
like the Adyen package, but they have a different folder structure:
You should place PrivacyInfo.xcprivacy
under the Adyen
folder, then it works for the Adyen
target.
Adyen3DS
's XCFramework does it correctly, in the contents of the framework you can see a manifest for each of the architectures.
All of the other Adyen targets don't include a privacy manifest in their build output as far as I can see.
Firebase does include a privacy manifest for each of their package libs, it's a different one for each of them, depending on the privacy info each of the targets needs to make public.
I hope this is enough information, sorry for the long post.
Hi @Fab1n! Thanks for the detailed explanation. We're gonna take a look into this by replicating what you've explained. I will get back to you as soon as we address it.
Hey @Fab1n - I opened #1779 where we update the path to the correct one. I tested it and it looks like now it should be correct. Could you test in your project?
Hey @Fab1n! After testing it, we see the issue is fixed. We're gonna close it, feel free to re-open if you find anything weird. Thanks for reporting!
@nauaros thank you for your support. I don't have too much bandwidth to test it now, but I will when updating the package. I am sure it has been fixed.
Describe the bug The privacy manifest asset processing path is wrong in the package definition: https://github.com/Adyen/adyen-ios/blob/17820c15847335b5238c3ed7871b47979e669d70/Package.swift#L95
To Reproduce Steps to reproduce the behavior:
Expected behavior Path is correct
Screenshots
Environment
Relevant source code Add any source code causing the problem here.