From a33e0860244d12dc5202efbdc50799a178c7392a Mon Sep 17 00:00:00 2001 From: Anatoly Pristensky Date: Thu, 14 Sep 2023 11:43:12 +0200 Subject: [PATCH] Update App Center SDK to include privacy manifest (#2501) --- AppCenter/AppCenter.xcodeproj/project.pbxproj | 4 + AppCenter/PrivacyInfo.xcprivacy | 86 +++++++++++++++++++ .../project.pbxproj | 2 + AppCenterAnalytics/PrivacyInfo.xcprivacy | 86 +++++++++++++++++++ .../project.pbxproj | 2 + AppCenterCrashes/PrivacyInfo.xcprivacy | 86 +++++++++++++++++++ .../project.pbxproj | 2 + AppCenterDistribute/PrivacyInfo.xcprivacy | 86 +++++++++++++++++++ CHANGELOG.md | 5 ++ 9 files changed, 359 insertions(+) create mode 100644 AppCenter/PrivacyInfo.xcprivacy create mode 100644 AppCenterAnalytics/PrivacyInfo.xcprivacy create mode 100644 AppCenterCrashes/PrivacyInfo.xcprivacy create mode 100644 AppCenterDistribute/PrivacyInfo.xcprivacy diff --git a/AppCenter/AppCenter.xcodeproj/project.pbxproj b/AppCenter/AppCenter.xcodeproj/project.pbxproj index dee513dca..b93af2f3e 100644 --- a/AppCenter/AppCenter.xcodeproj/project.pbxproj +++ b/AppCenter/AppCenter.xcodeproj/project.pbxproj @@ -1333,6 +1333,8 @@ D55E7082252F5A1000AB994D /* MSACTestSessionInfo.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MSACTestSessionInfo.m; sourceTree = ""; }; D55E7083252F5A1000AB994D /* MSACTestSessionInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MSACTestSessionInfo.h; sourceTree = ""; }; D5812F312423C2FA00C5F5C5 /* MSACUserDefaultsTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MSACUserDefaultsTests.m; sourceTree = ""; }; + D80EC5002AB0713B000C82D7 /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = PrivacyInfo.xcprivacy; sourceTree = ""; }; + D881A6B62AAF4176009644A0 /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; lastKnownFileType = text.xml; name = PrivacyInfo.xcprivacy; path = ../PrivacyInfo.xcprivacy; sourceTree = ""; }; DF5DA1F823A0E55500DE695C /* MSACDispatcherUtil.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MSACDispatcherUtil.h; sourceTree = ""; }; DF5DA1FC23A0E57B00DE695C /* MSACDispatcherUtil.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MSACDispatcherUtil.m; sourceTree = ""; }; DFCB7FFD2472C1BD0058D292 /* OCHamcrest.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = OCHamcrest.xcodeproj; path = ../../Vendor/OCHamcrest/Source/OCHamcrest.xcodeproj; sourceTree = ""; }; @@ -1588,6 +1590,8 @@ 6E0400FA1D1C98220051BCFA = { isa = PBXGroup; children = ( + D80EC5002AB0713B000C82D7 /* PrivacyInfo.xcprivacy */, + D881A6B62AAF4176009644A0 /* PrivacyInfo.xcprivacy */, 6E0401051D1C98220051BCFA /* AppCenter */, 6E2395791D22EF4F00E543C8 /* AppCenterTests */, 6E0401041D1C98220051BCFA /* Products */, diff --git a/AppCenter/PrivacyInfo.xcprivacy b/AppCenter/PrivacyInfo.xcprivacy new file mode 100644 index 000000000..e2e2a1315 --- /dev/null +++ b/AppCenter/PrivacyInfo.xcprivacy @@ -0,0 +1,86 @@ + + + + + NSPrivacyCollectedDataTypes + + + NSPrivacyCollectedDataType + NSPrivacyCollectedDataTypeDeviceID + NSPrivacyCollectedDataTypeLinked + + NSPrivacyCollectedDataTypeTracking + + NSPrivacyCollectedDataTypePurposes + + NSPrivacyCollectedDataTypePurposeAppFunctionality + + + + NSPrivacyCollectedDataType + NSPrivacyCollectedDataTypePhotosorVideos + NSPrivacyCollectedDataTypeLinked + + NSPrivacyCollectedDataTypeTracking + + NSPrivacyCollectedDataTypePurposes + + NSPrivacyCollectedDataTypePurposeAppFunctionality + + + + NSPrivacyCollectedDataType + NSPrivacyCollectedDataTypeUserID + NSPrivacyCollectedDataTypeLinked + + NSPrivacyCollectedDataTypeTracking + + NSPrivacyCollectedDataTypePurposes + + NSPrivacyCollectedDataTypePurposeAppFunctionality + + + + NSPrivacyCollectedDataType + NSPrivacyCollectedDataTypeCrashData + NSPrivacyCollectedDataTypeLinked + + NSPrivacyCollectedDataTypeTracking + + NSPrivacyCollectedDataTypePurposes + NSPrivacyCollectedDataTypePurposeAppFunctionality + + + NSPrivacyCollectedDataType + NSPrivacyCollectedDataTypePerformanceData + NSPrivacyCollectedDataTypeLinked + + NSPrivacyCollectedDataTypeTracking + + NSPrivacyCollectedDataTypePurposes + NSPrivacyCollectedDataTypePurposeAppFunctionality + + + NSPrivacyCollectedDataType + NSPrivacyCollectedDataTypeOtherDiagnosticData + NSPrivacyCollectedDataTypeLinked + + NSPrivacyCollectedDataTypeTracking + + NSPrivacyCollectedDataTypePurposes + NSPrivacyCollectedDataTypePurposeAppFunctionality + + + NSPrivacyAccessedAPITypes + + + NSPrivacyAccessedAPIType + NSPrivacyAccessedAPICategoryUserDefaults + + + NSPrivacyAccessedAPIType + NSPrivacyAccessedAPICategoryFileTimestamp + + + + diff --git a/AppCenterAnalytics/AppCenterAnalytics.xcodeproj/project.pbxproj b/AppCenterAnalytics/AppCenterAnalytics.xcodeproj/project.pbxproj index 91af8054d..2fcc1ac50 100644 --- a/AppCenterAnalytics/AppCenterAnalytics.xcodeproj/project.pbxproj +++ b/AppCenterAnalytics/AppCenterAnalytics.xcodeproj/project.pbxproj @@ -573,6 +573,7 @@ C9EBAB18230D724700A20F0F /* AppCenter.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = AppCenter.framework; sourceTree = BUILT_PRODUCTS_DIR; }; C9EBAB28230D72F300A20F0F /* AppCenter.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = AppCenter.framework; sourceTree = BUILT_PRODUCTS_DIR; }; C9EBAB2A230D72F900A20F0F /* AppCenter.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = AppCenter.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D80EC5092AB07A0E000C82D7 /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = PrivacyInfo.xcprivacy; sourceTree = ""; }; DFCB80232472D5D70058D292 /* OCHamcrest.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = OCHamcrest.xcodeproj; path = ../../Vendor/OCHamcrest/Source/OCHamcrest.xcodeproj; sourceTree = ""; }; E758FA7B20FFDEE700011793 /* MSACPropertyConfigurator.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MSACPropertyConfigurator.h; sourceTree = ""; }; E758FA7C20FFDEE700011793 /* MSACPropertyConfigurator.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MSACPropertyConfigurator.m; sourceTree = ""; }; @@ -795,6 +796,7 @@ E85547B71D2D6253002DF6E2 = { isa = PBXGroup; children = ( + D80EC5092AB07A0E000C82D7 /* PrivacyInfo.xcprivacy */, E85547C21D2D6253002DF6E2 /* AppCenterAnalytics */, E85547D61D2D6723002DF6E2 /* AppCenterAnalyticsTests */, E85547C11D2D6253002DF6E2 /* Products */, diff --git a/AppCenterAnalytics/PrivacyInfo.xcprivacy b/AppCenterAnalytics/PrivacyInfo.xcprivacy new file mode 100644 index 000000000..e2e2a1315 --- /dev/null +++ b/AppCenterAnalytics/PrivacyInfo.xcprivacy @@ -0,0 +1,86 @@ + + + + + NSPrivacyCollectedDataTypes + + + NSPrivacyCollectedDataType + NSPrivacyCollectedDataTypeDeviceID + NSPrivacyCollectedDataTypeLinked + + NSPrivacyCollectedDataTypeTracking + + NSPrivacyCollectedDataTypePurposes + + NSPrivacyCollectedDataTypePurposeAppFunctionality + + + + NSPrivacyCollectedDataType + NSPrivacyCollectedDataTypePhotosorVideos + NSPrivacyCollectedDataTypeLinked + + NSPrivacyCollectedDataTypeTracking + + NSPrivacyCollectedDataTypePurposes + + NSPrivacyCollectedDataTypePurposeAppFunctionality + + + + NSPrivacyCollectedDataType + NSPrivacyCollectedDataTypeUserID + NSPrivacyCollectedDataTypeLinked + + NSPrivacyCollectedDataTypeTracking + + NSPrivacyCollectedDataTypePurposes + + NSPrivacyCollectedDataTypePurposeAppFunctionality + + + + NSPrivacyCollectedDataType + NSPrivacyCollectedDataTypeCrashData + NSPrivacyCollectedDataTypeLinked + + NSPrivacyCollectedDataTypeTracking + + NSPrivacyCollectedDataTypePurposes + NSPrivacyCollectedDataTypePurposeAppFunctionality + + + NSPrivacyCollectedDataType + NSPrivacyCollectedDataTypePerformanceData + NSPrivacyCollectedDataTypeLinked + + NSPrivacyCollectedDataTypeTracking + + NSPrivacyCollectedDataTypePurposes + NSPrivacyCollectedDataTypePurposeAppFunctionality + + + NSPrivacyCollectedDataType + NSPrivacyCollectedDataTypeOtherDiagnosticData + NSPrivacyCollectedDataTypeLinked + + NSPrivacyCollectedDataTypeTracking + + NSPrivacyCollectedDataTypePurposes + NSPrivacyCollectedDataTypePurposeAppFunctionality + + + NSPrivacyAccessedAPITypes + + + NSPrivacyAccessedAPIType + NSPrivacyAccessedAPICategoryUserDefaults + + + NSPrivacyAccessedAPIType + NSPrivacyAccessedAPICategoryFileTimestamp + + + + diff --git a/AppCenterCrashes/AppCenterCrashes.xcodeproj/project.pbxproj b/AppCenterCrashes/AppCenterCrashes.xcodeproj/project.pbxproj index 7f6954e7e..00f2629f8 100644 --- a/AppCenterCrashes/AppCenterCrashes.xcodeproj/project.pbxproj +++ b/AppCenterCrashes/AppCenterCrashes.xcodeproj/project.pbxproj @@ -928,6 +928,7 @@ C9EBAB2E230D736A00A20F0F /* AppCenter.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = AppCenter.framework; sourceTree = BUILT_PRODUCTS_DIR; }; C9EBAB30230D736F00A20F0F /* AppCenter.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = AppCenter.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D55737BD254AB33F00B64478 /* AppCenter.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = AppCenter.xcodeproj; path = ../../AppCenter/AppCenter.xcodeproj; sourceTree = ""; }; + D80EC5122AB07A5E000C82D7 /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = PrivacyInfo.xcprivacy; sourceTree = ""; }; DFCB80482472D6770058D292 /* OCHamcrest.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = OCHamcrest.xcodeproj; path = ../../Vendor/OCHamcrest/Source/OCHamcrest.xcodeproj; sourceTree = ""; }; F82E4C74217F1FD600EDAB34 /* sqlite3.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = sqlite3.c; path = ../../Vendor/SQLite3/sqlite3.c; sourceTree = ""; }; F851DAEC1E81867D00525570 /* MSACCrashesCXXExceptionTests.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MSACCrashesCXXExceptionTests.mm; sourceTree = ""; }; @@ -1088,6 +1089,7 @@ 6E04012A1D1C98690051BCFA = { isa = PBXGroup; children = ( + D80EC5122AB07A5E000C82D7 /* PrivacyInfo.xcprivacy */, D55737BC254AB33100B64478 /* AppCenter */, 6E0401351D1C98690051BCFA /* AppCenterCrashes */, 6E171AE21D22F781000DC480 /* AppCenterCrashesTests */, diff --git a/AppCenterCrashes/PrivacyInfo.xcprivacy b/AppCenterCrashes/PrivacyInfo.xcprivacy new file mode 100644 index 000000000..e2e2a1315 --- /dev/null +++ b/AppCenterCrashes/PrivacyInfo.xcprivacy @@ -0,0 +1,86 @@ + + + + + NSPrivacyCollectedDataTypes + + + NSPrivacyCollectedDataType + NSPrivacyCollectedDataTypeDeviceID + NSPrivacyCollectedDataTypeLinked + + NSPrivacyCollectedDataTypeTracking + + NSPrivacyCollectedDataTypePurposes + + NSPrivacyCollectedDataTypePurposeAppFunctionality + + + + NSPrivacyCollectedDataType + NSPrivacyCollectedDataTypePhotosorVideos + NSPrivacyCollectedDataTypeLinked + + NSPrivacyCollectedDataTypeTracking + + NSPrivacyCollectedDataTypePurposes + + NSPrivacyCollectedDataTypePurposeAppFunctionality + + + + NSPrivacyCollectedDataType + NSPrivacyCollectedDataTypeUserID + NSPrivacyCollectedDataTypeLinked + + NSPrivacyCollectedDataTypeTracking + + NSPrivacyCollectedDataTypePurposes + + NSPrivacyCollectedDataTypePurposeAppFunctionality + + + + NSPrivacyCollectedDataType + NSPrivacyCollectedDataTypeCrashData + NSPrivacyCollectedDataTypeLinked + + NSPrivacyCollectedDataTypeTracking + + NSPrivacyCollectedDataTypePurposes + NSPrivacyCollectedDataTypePurposeAppFunctionality + + + NSPrivacyCollectedDataType + NSPrivacyCollectedDataTypePerformanceData + NSPrivacyCollectedDataTypeLinked + + NSPrivacyCollectedDataTypeTracking + + NSPrivacyCollectedDataTypePurposes + NSPrivacyCollectedDataTypePurposeAppFunctionality + + + NSPrivacyCollectedDataType + NSPrivacyCollectedDataTypeOtherDiagnosticData + NSPrivacyCollectedDataTypeLinked + + NSPrivacyCollectedDataTypeTracking + + NSPrivacyCollectedDataTypePurposes + NSPrivacyCollectedDataTypePurposeAppFunctionality + + + NSPrivacyAccessedAPITypes + + + NSPrivacyAccessedAPIType + NSPrivacyAccessedAPICategoryUserDefaults + + + NSPrivacyAccessedAPIType + NSPrivacyAccessedAPICategoryFileTimestamp + + + + diff --git a/AppCenterDistribute/AppCenterDistribute.xcodeproj/project.pbxproj b/AppCenterDistribute/AppCenterDistribute.xcodeproj/project.pbxproj index 3b0571dd8..5e1bdc73c 100644 --- a/AppCenterDistribute/AppCenterDistribute.xcodeproj/project.pbxproj +++ b/AppCenterDistribute/AppCenterDistribute.xcodeproj/project.pbxproj @@ -386,6 +386,7 @@ C97E8632257F96E800717834 /* error_details_no_release.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = error_details_no_release.json; sourceTree = ""; }; C9A91F8C230BFFFF0068070D /* AppCenterDistribute.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = AppCenterDistribute.framework; sourceTree = BUILT_PRODUCTS_DIR; }; C9EBAB36230D73A800A20F0F /* AppCenter.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = AppCenter.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D80EC53C2AB07ABB000C82D7 /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = PrivacyInfo.xcprivacy; sourceTree = ""; }; DFCB806D2472D71C0058D292 /* OCHamcrest.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = OCHamcrest.xcodeproj; path = ../../Vendor/OCHamcrest/Source/OCHamcrest.xcodeproj; sourceTree = ""; }; DFE954F2244D8B410061E3FA /* HTTPStubs.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = HTTPStubs.m; sourceTree = ""; }; DFE954F3244D8B410061E3FA /* NSURLRequest+HTTPBodyTesting.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "NSURLRequest+HTTPBodyTesting.m"; sourceTree = ""; }; @@ -527,6 +528,7 @@ 04FD4A131E451E12009B4468 = { isa = PBXGroup; children = ( + D80EC53C2AB07ABB000C82D7 /* PrivacyInfo.xcprivacy */, 040AF0321E52859F005C1174 /* MSACIngestionProtocol.h */, 04FD4A1E1E451E12009B4468 /* AppCenterDistribute */, 04FD4A321E453531009B4468 /* AppCenterDistributeTests */, diff --git a/AppCenterDistribute/PrivacyInfo.xcprivacy b/AppCenterDistribute/PrivacyInfo.xcprivacy new file mode 100644 index 000000000..e2e2a1315 --- /dev/null +++ b/AppCenterDistribute/PrivacyInfo.xcprivacy @@ -0,0 +1,86 @@ + + + + + NSPrivacyCollectedDataTypes + + + NSPrivacyCollectedDataType + NSPrivacyCollectedDataTypeDeviceID + NSPrivacyCollectedDataTypeLinked + + NSPrivacyCollectedDataTypeTracking + + NSPrivacyCollectedDataTypePurposes + + NSPrivacyCollectedDataTypePurposeAppFunctionality + + + + NSPrivacyCollectedDataType + NSPrivacyCollectedDataTypePhotosorVideos + NSPrivacyCollectedDataTypeLinked + + NSPrivacyCollectedDataTypeTracking + + NSPrivacyCollectedDataTypePurposes + + NSPrivacyCollectedDataTypePurposeAppFunctionality + + + + NSPrivacyCollectedDataType + NSPrivacyCollectedDataTypeUserID + NSPrivacyCollectedDataTypeLinked + + NSPrivacyCollectedDataTypeTracking + + NSPrivacyCollectedDataTypePurposes + + NSPrivacyCollectedDataTypePurposeAppFunctionality + + + + NSPrivacyCollectedDataType + NSPrivacyCollectedDataTypeCrashData + NSPrivacyCollectedDataTypeLinked + + NSPrivacyCollectedDataTypeTracking + + NSPrivacyCollectedDataTypePurposes + NSPrivacyCollectedDataTypePurposeAppFunctionality + + + NSPrivacyCollectedDataType + NSPrivacyCollectedDataTypePerformanceData + NSPrivacyCollectedDataTypeLinked + + NSPrivacyCollectedDataTypeTracking + + NSPrivacyCollectedDataTypePurposes + NSPrivacyCollectedDataTypePurposeAppFunctionality + + + NSPrivacyCollectedDataType + NSPrivacyCollectedDataTypeOtherDiagnosticData + NSPrivacyCollectedDataTypeLinked + + NSPrivacyCollectedDataTypeTracking + + NSPrivacyCollectedDataTypePurposes + NSPrivacyCollectedDataTypePurposeAppFunctionality + + + NSPrivacyAccessedAPITypes + + + NSPrivacyAccessedAPIType + NSPrivacyAccessedAPICategoryUserDefaults + + + NSPrivacyAccessedAPIType + NSPrivacyAccessedAPICategoryFileTimestamp + + + + diff --git a/CHANGELOG.md b/CHANGELOG.md index 23b08eb2f..9a601c9d8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # App Center SDK for iOS, macOS and tvOS Change Log +## Version 5.0.4 + +* **[Improvement]** Update App Center SDK to include privacy manifest. +* **[Improvement]** Add `dataResidencyRegion` option to allow customers set residency of data for current user/device. + ## Version 5.0.3 * **[Fix]** Fix the build issue with Xcode 15 beta when integrating via Swift Package Manager.