diff --git a/AmplitudeExperiment.podspec b/AmplitudeExperiment.podspec index 309ac1f..490e846 100644 --- a/AmplitudeExperiment.podspec +++ b/AmplitudeExperiment.podspec @@ -14,16 +14,20 @@ Pod::Spec.new do |spec| spec.ios.deployment_target = '10.0' spec.ios.source_files = 'Sources/Experiment/**/*.{h,swift}' + spec.ios.resources = 'Sources/Experiment/PrivacyInfo.xcprivacy' spec.osx.deployment_target = '10.13' spec.osx.source_files = 'sources/Experiment/**/*.{h,swift}' + spec.osx.resources = 'Sources/Experiment/PrivacyInfo.xcprivacy' spec.tvos.deployment_target = '10.0' spec.tvos.source_files = 'sources/Experiment/**/*.{h,swift}' + spec.tvos.resources = 'Sources/Experiment/PrivacyInfo.xcprivacy' spec.watchos.deployment_target = '3.0' spec.watchos.source_files = 'sources/Experiment/**/*.{h,swift}' - + spec.watchos.resources = 'Sources/Experiment/PrivacyInfo.xcprivacy' + spec.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES' } spec.dependency 'AnalyticsConnector', '~> 1.0' diff --git a/Experiment.xcodeproj/project.pbxproj b/Experiment.xcodeproj/project.pbxproj index 09afa71..5d34522 100644 --- a/Experiment.xcodeproj/project.pbxproj +++ b/Experiment.xcodeproj/project.pbxproj @@ -3,12 +3,13 @@ archiveVersion = 1; classes = { }; - objectVersion = 52; + objectVersion = 54; objects = { /* Begin PBXBuildFile section */ 200F89312AB2522C003AD279 /* EvaluationIntegrationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 200F89302AB2522C003AD279 /* EvaluationIntegrationTests.swift */; }; 201A78DF2643AB6100663DCB /* ExperimentUserTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 201A78DE2643AB6100663DCB /* ExperimentUserTests.swift */; }; + 201FCB602BBB8EB000F07EC1 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 201FCB5F2BBB879500F07EC1 /* PrivacyInfo.xcprivacy */; }; 2047CE312809FCD9002D2B06 /* UserSessionExposureTrackerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2047CE302809FCD9002D2B06 /* UserSessionExposureTrackerTests.swift */; }; 2073275A278E42B0002BBD43 /* SessionAnalyticsProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 20732759278E42B0002BBD43 /* SessionAnalyticsProvider.swift */; }; 207C95FA27A9F0A4008EE143 /* AnalyticsConnector.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 207C95F927A9F0A4008EE143 /* AnalyticsConnector.xcframework */; }; @@ -66,6 +67,7 @@ /* Begin PBXFileReference section */ 200F89302AB2522C003AD279 /* EvaluationIntegrationTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EvaluationIntegrationTests.swift; sourceTree = ""; }; 201A78DE2643AB6100663DCB /* ExperimentUserTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExperimentUserTests.swift; sourceTree = ""; }; + 201FCB5F2BBB879500F07EC1 /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = PrivacyInfo.xcprivacy; sourceTree = ""; }; 2047CE302809FCD9002D2B06 /* UserSessionExposureTrackerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserSessionExposureTrackerTests.swift; sourceTree = ""; }; 20732759278E42B0002BBD43 /* SessionAnalyticsProvider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SessionAnalyticsProvider.swift; sourceTree = ""; }; 207C95F927A9F0A4008EE143 /* AnalyticsConnector.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = AnalyticsConnector.xcframework; path = Carthage/Build/AnalyticsConnector.xcframework; sourceTree = ""; }; @@ -172,6 +174,7 @@ E914961125796DA800C64B38 /* Experiment */ = { isa = PBXGroup; children = ( + 201FCB5F2BBB879500F07EC1 /* PrivacyInfo.xcprivacy */, 20F8C8C32AAFE2A100B5717C /* Murmur3.swift */, 20F8C8C62AAFE2B300B5717C /* SemanticVersion.swift */, 20F8C8C92AAFE2BF00B5717C /* TopologicalSort.swift */, @@ -341,6 +344,7 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 201FCB602BBB8EB000F07EC1 /* PrivacyInfo.xcprivacy in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/Package.swift b/Package.swift index a0e416d..7e0e47e 100644 --- a/Package.swift +++ b/Package.swift @@ -30,7 +30,8 @@ let package = Package( .product(name: "AnalyticsConnector", package: "analytics-connector-ios") ], path: "Sources/Experiment", - exclude: ["Info.plist"]), + exclude: ["Info.plist"], + resources: [.copy("PrivacyInfo.xcprivacy")]), .testTarget( name: "ExperimentTests", dependencies: ["Experiment"], diff --git a/Sources/Experiment/PrivacyInfo.xcprivacy b/Sources/Experiment/PrivacyInfo.xcprivacy new file mode 100644 index 0000000..83caffc --- /dev/null +++ b/Sources/Experiment/PrivacyInfo.xcprivacy @@ -0,0 +1,38 @@ + + + + + NSPrivacyTracking + + NSPrivacyTrackingDomains + + + NSPrivacyCollectedDataTypes + + + NSPrivacyCollectedDataType + NSPrivacyCollectedDataTypeDeviceID + NSPrivacyCollectedDataTypeLinked + + NSPrivacyCollectedDataTypeTracking + + NSPrivacyCollectedDataTypePurposes + + NSPrivacyCollectedDataTypePurposeAppFunctionality + NSPrivacyCollectedDataTypePurposeProductPersonalization + + + + NSPrivacyAccessedAPITypes + + + NSPrivacyAccessedAPIType + NSPrivacyAccessedAPICategoryUserDefaults + NSPrivacyAccessedAPITypeReasons + + 1C8F.1 + + + + +