PrivacyManifest is the pkl file that provides the benefits of static typing to generate Apple's xcprivacy file.
Packages within this repository are published as package://pkg.pkl-lang.org/github.com/fumito-ito/PrivacyManifest@<VERSION>
.
Modules from package can be imported directly. For example, the below line imports the module from package at version 0.1.0
:
import "package://pkg.pkl-lang.org/github.com/fumito-ito/PrivacyManifest/[email protected]"
create your pkl file to generate xcprivacy
file.
amends "package://pkg.pkl-lang.org/github.com/fumito-ito/PrivacyManifest/[email protected]#/PrivacyManifestFile.pkl"
NSPrivacyTracking = true
NSPrivacyTrackingDomains {
"com.github.fumito-ito.PrivacyManifest.pkl"
}
... and generate !
$ pkl eval YourPklFile.pkl > PrivacyInfo.xcprivacy
This module provides following validations.
If NSPrivacyTracking = true
, NSPrivacyTrackingDomains
needs one or more domains.
NSPrivacyTrackingDomains
should be domain style string, e.g. com.example.app
NSPrivacyAccessedAPITypeReasons
should supply the relevant values from NSPrivacyAccessedAPIType
.
Check that the correct names are used for the classes listed below.
NSPrivacyAccessedAPIType
NSPrivacyAccessedAPITypeReasons
NSPrivacyCollectedDataType
NSPrivacyCollectedDataTypePurposes
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.