From d41d6a041197b4ae51939f961b032de68b529c45 Mon Sep 17 00:00:00 2001 From: Jenn Magder Date: Tue, 12 Dec 2023 14:29:16 -0800 Subject: [PATCH 1/2] Add xcprivacy privacy manifest to iOS framework --- ci/licenses_golden/licenses_flutter | 1 + shell/platform/darwin/ios/BUILD.gn | 8 +++++ .../ios/framework/PrivacyInfo.xcprivacy | 34 +++++++++++++++++++ 3 files changed, 43 insertions(+) create mode 100644 shell/platform/darwin/ios/framework/PrivacyInfo.xcprivacy diff --git a/ci/licenses_golden/licenses_flutter b/ci/licenses_golden/licenses_flutter index 5083bee902362..fe8c1d61764b5 100644 --- a/ci/licenses_golden/licenses_flutter +++ b/ci/licenses_golden/licenses_flutter @@ -9330,6 +9330,7 @@ FILE: ../../../flutter/shell/platform/darwin/ios/framework/Headers/FlutterPlugin FILE: ../../../flutter/shell/platform/darwin/ios/framework/Headers/FlutterPluginAppLifeCycleDelegate.h FILE: ../../../flutter/shell/platform/darwin/ios/framework/Headers/FlutterViewController.h FILE: ../../../flutter/shell/platform/darwin/ios/framework/Info.plist +FILE: ../../../flutter/shell/platform/darwin/ios/framework/PrivacyInfo.xcprivacy FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterAppDelegate.mm FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterAppDelegateTest.mm FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterAppDelegate_Test.h diff --git a/shell/platform/darwin/ios/BUILD.gn b/shell/platform/darwin/ios/BUILD.gn index ad924acfbe84f..47c59ec979ebe 100644 --- a/shell/platform/darwin/ios/BUILD.gn +++ b/shell/platform/darwin/ios/BUILD.gn @@ -373,6 +373,12 @@ copy("copy_framework_module_map") { outputs = [ "$_flutter_framework_dir/Modules/module.modulemap" ] } +copy("copy_framework_privacy_manifest") { + visibility = [ ":*" ] + sources = [ "framework/PrivacyInfo.xcprivacy" ] + outputs = [ "$_flutter_framework_dir/PrivacyInfo.xcprivacy" ] +} + action("copy_framework_headers") { script = "//flutter/sky/tools/install_framework_headers.py" visibility = [ ":*" ] @@ -415,6 +421,7 @@ shared_library("copy_and_verify_framework_module") { ":copy_framework_headers", ":copy_framework_info_plist", ":copy_framework_module_map", + ":copy_framework_privacy_manifest", ] if (darwin_extension_safe) { @@ -437,6 +444,7 @@ group("universal_flutter_framework") { ":copy_framework_icu", ":copy_framework_info_plist", ":copy_framework_module_map", + ":copy_framework_privacy_manifest", ":copy_license", ] diff --git a/shell/platform/darwin/ios/framework/PrivacyInfo.xcprivacy b/shell/platform/darwin/ios/framework/PrivacyInfo.xcprivacy new file mode 100644 index 0000000000000..e65641794796c --- /dev/null +++ b/shell/platform/darwin/ios/framework/PrivacyInfo.xcprivacy @@ -0,0 +1,34 @@ + + + + + NSPrivacyTracking + + NSPrivacyTrackingDomains + + NSPrivacyCollectedDataTypes + + + + NSPrivacyAccessedAPITypes + + + NSPrivacyAccessedAPIType + NSPrivacyAccessedAPICategoryFileTimestamp + NSPrivacyAccessedAPITypeReasons + + 0A2A.1 + C617.1 + + + + NSPrivacyAccessedAPIType + NSPrivacyAccessedAPICategorySystemBootTime + NSPrivacyAccessedAPITypeReasons + + 35F9.1 + + + + + From cb8426c20142fb7df2fa2bea8a9ed9eb690dac4f Mon Sep 17 00:00:00 2001 From: Jenn Magder Date: Wed, 13 Dec 2023 11:05:36 -0800 Subject: [PATCH 2/2] Add comment to gn --- shell/platform/darwin/ios/BUILD.gn | 3 +++ 1 file changed, 3 insertions(+) diff --git a/shell/platform/darwin/ios/BUILD.gn b/shell/platform/darwin/ios/BUILD.gn index 47c59ec979ebe..bfcb4fcbb7808 100644 --- a/shell/platform/darwin/ios/BUILD.gn +++ b/shell/platform/darwin/ios/BUILD.gn @@ -373,6 +373,9 @@ copy("copy_framework_module_map") { outputs = [ "$_flutter_framework_dir/Modules/module.modulemap" ] } +# Copy privacy manifest. This file is required by Apple for third-party SDKs, +# and documents engine and third_party usage of timestamps and boot time APIs. +# See https://developer.apple.com/documentation/bundleresources/privacy_manifest_files copy("copy_framework_privacy_manifest") { visibility = [ ":*" ] sources = [ "framework/PrivacyInfo.xcprivacy" ]