diff --git a/Lottie.xcodeproj/project.pbxproj b/Lottie.xcodeproj/project.pbxproj index 8aa3ed221e..c07c63362b 100644 --- a/Lottie.xcodeproj/project.pbxproj +++ b/Lottie.xcodeproj/project.pbxproj @@ -556,6 +556,10 @@ 08F8B20F2898A7B100CB5323 /* RepeaterLayer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08F8B20C2898A7B100CB5323 /* RepeaterLayer.swift */; }; 08F8B211289990B700CB5323 /* Samples in Resources */ = {isa = PBXBuildFile; fileRef = 08F8B210289990B700CB5323 /* Samples */; }; 08F8B213289990CB00CB5323 /* SnapshotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08F8B212289990CB00CB5323 /* SnapshotTests.swift */; }; + 08FB47C62B23B86500744478 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 08FB47C52B23B86500744478 /* PrivacyInfo.xcprivacy */; }; + 08FB47C72B23B86500744478 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 08FB47C52B23B86500744478 /* PrivacyInfo.xcprivacy */; }; + 08FB47C82B23B86500744478 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 08FB47C52B23B86500744478 /* PrivacyInfo.xcprivacy */; }; + 08FB47C92B23B86500744478 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 08FB47C52B23B86500744478 /* PrivacyInfo.xcprivacy */; }; 08FE934E28F4CCAC00D3A7E6 /* InfiniteOpaqueAnimationLayer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08FE934D28F4CCAC00D3A7E6 /* InfiniteOpaqueAnimationLayer.swift */; }; 08FE934F28F4CCAC00D3A7E6 /* InfiniteOpaqueAnimationLayer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08FE934D28F4CCAC00D3A7E6 /* InfiniteOpaqueAnimationLayer.swift */; }; 08FE935028F4CCAC00D3A7E6 /* InfiniteOpaqueAnimationLayer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08FE934D28F4CCAC00D3A7E6 /* InfiniteOpaqueAnimationLayer.swift */; }; @@ -1263,6 +1267,7 @@ 08F8B20C2898A7B100CB5323 /* RepeaterLayer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RepeaterLayer.swift; sourceTree = ""; }; 08F8B210289990B700CB5323 /* Samples */ = {isa = PBXFileReference; lastKnownFileType = folder; path = Samples; sourceTree = ""; }; 08F8B212289990CB00CB5323 /* SnapshotTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SnapshotTests.swift; sourceTree = ""; }; + 08FB47C52B23B86500744478 /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = PrivacyInfo.xcprivacy; sourceTree = ""; }; 08FE934D28F4CCAC00D3A7E6 /* InfiniteOpaqueAnimationLayer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InfiniteOpaqueAnimationLayer.swift; sourceTree = ""; }; 19465F51282F998B00BB2C97 /* CachedImageProvider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CachedImageProvider.swift; sourceTree = ""; }; 2E044E262820536800FA773B /* AutomaticEngineTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AutomaticEngineTests.swift; sourceTree = ""; }; @@ -1738,6 +1743,7 @@ children = ( 2EAF59C027A0798600E00531 /* Sources */, 2E8040BA27A07343006E74CB /* Tests */, + 08FB47C52B23B86500744478 /* PrivacyInfo.xcprivacy */, 2E80409B27A0725D006E74CB /* Products */, ); sourceTree = ""; @@ -2632,6 +2638,7 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 08FB47C92B23B86500744478 /* PrivacyInfo.xcprivacy in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -2639,6 +2646,7 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 08FB47C62B23B86500744478 /* PrivacyInfo.xcprivacy in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -2655,6 +2663,7 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 08FB47C72B23B86500744478 /* PrivacyInfo.xcprivacy in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -2662,6 +2671,7 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 08FB47C82B23B86500744478 /* PrivacyInfo.xcprivacy in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/Package.swift b/Package.swift index fc3aeb2948..2fa4c2fd96 100644 --- a/Package.swift +++ b/Package.swift @@ -18,5 +18,6 @@ let package = Package( "Private/EmbeddedLibraries/ZipFoundation/README.md", "Private/EmbeddedLibraries/EpoxyCore/README.md", "Private/EmbeddedLibraries/LRUCache/README.md", - ]), + ], + resources: [.copy("../PrivacyInfo.xcprivacy")]), ]) diff --git a/PrivacyInfo.xcprivacy b/PrivacyInfo.xcprivacy new file mode 100644 index 0000000000..187c151d16 --- /dev/null +++ b/PrivacyInfo.xcprivacy @@ -0,0 +1,23 @@ + + + + + NSPrivacyTracking + + NSPrivacyTrackingDomains + + NSPrivacyCollectedDataTypes + + NSPrivacyAccessedAPITypes + + + NSPrivacyAccessedAPIType + NSPrivacyAccessedAPICategoryFileTimestamp + NSPrivacyAccessedAPITypeReasons + + 3B52.1 + + + + + diff --git a/Sources/Private/EmbeddedLibraries/README.md b/Sources/Private/EmbeddedLibraries/README.md index c39db4df16..f925b8895f 100644 --- a/Sources/Private/EmbeddedLibraries/README.md +++ b/Sources/Private/EmbeddedLibraries/README.md @@ -39,3 +39,5 @@ When doing this, follow these steps: 5. Change all of the `public` symbols defined in the module to instead be `internal` to prevent Lottie from exposing any APIs from other libraries. + + 6. If the dependency provides a privacy manifest, incorporate content from that dependency's privacy manifest into Lottie's privacy manifest. diff --git a/lottie-ios.podspec b/lottie-ios.podspec index 3c8a7a2380..db239beb8f 100644 --- a/lottie-ios.podspec +++ b/lottie-ios.podspec @@ -29,6 +29,7 @@ Lottie enables designers to create and ship beautiful animations without an engi s.source_files = 'Sources/**/*' s.exclude_files = 'Sources/**/*.md' + s.resource = 'PrivacyInfo.xcprivacy' s.ios.exclude_files = 'Sources/Public/MacOS/**/*' s.tvos.exclude_files = 'Sources/Public/MacOS/**/*' s.osx.exclude_files = 'Sources/Public/iOS/**/*'