From fa6dfb97f839e904ec57895064ab804e3d57304e Mon Sep 17 00:00:00 2001 From: Jenn Magder Date: Tue, 10 Sep 2024 10:06:49 -0700 Subject: [PATCH 1/4] Add xcprivacy privacy manifest to macOS framework --- shell/platform/darwin/macos/BUILD.gn | 9 +++++++++ .../darwin/macos/framework/PrivacyInfo.xcprivacy | 14 ++++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 shell/platform/darwin/macos/framework/PrivacyInfo.xcprivacy diff --git a/shell/platform/darwin/macos/BUILD.gn b/shell/platform/darwin/macos/BUILD.gn index 401b63bc0b8b6..e6a2844542ce4 100644 --- a/shell/platform/darwin/macos/BUILD.gn +++ b/shell/platform/darwin/macos/BUILD.gn @@ -248,6 +248,14 @@ copy("copy_framework_module_map") { outputs = [ "$_flutter_framework_dir/Versions/A/Modules/module.modulemap" ] } +# Copy privacy manifest. This empty plist is required by Apple for third-party SDKs. +# See https://developer.apple.com/documentation/bundleresources/privacy_manifest_files +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 = [ ":*" ] @@ -304,6 +312,7 @@ action("_generate_symlinks") { ":copy_framework_icu", ":copy_framework_info_plist", ":copy_framework_module_map", + ":copy_framework_privacy_manifest", ":copy_license", ] metadata = { diff --git a/shell/platform/darwin/macos/framework/PrivacyInfo.xcprivacy b/shell/platform/darwin/macos/framework/PrivacyInfo.xcprivacy new file mode 100644 index 0000000000000..e08a130bce319 --- /dev/null +++ b/shell/platform/darwin/macos/framework/PrivacyInfo.xcprivacy @@ -0,0 +1,14 @@ + + + + + NSPrivacyTracking + + NSPrivacyTrackingDomains + + NSPrivacyCollectedDataTypes + + NSPrivacyAccessedAPITypes + + + From 4cdbdb235450e4f46955d2b30b91dfc78d18299b Mon Sep 17 00:00:00 2001 From: Jenn Magder Date: Tue, 10 Sep 2024 10:10:02 -0700 Subject: [PATCH 2/4] Remove NSPrivacyAccessedAPITypes --- shell/platform/darwin/macos/framework/PrivacyInfo.xcprivacy | 2 -- 1 file changed, 2 deletions(-) diff --git a/shell/platform/darwin/macos/framework/PrivacyInfo.xcprivacy b/shell/platform/darwin/macos/framework/PrivacyInfo.xcprivacy index e08a130bce319..4187dabc0f4c8 100644 --- a/shell/platform/darwin/macos/framework/PrivacyInfo.xcprivacy +++ b/shell/platform/darwin/macos/framework/PrivacyInfo.xcprivacy @@ -8,7 +8,5 @@ NSPrivacyCollectedDataTypes - NSPrivacyAccessedAPITypes - From 485a7fe1e23a9f0702ebb320a4f25062ce9499ab Mon Sep 17 00:00:00 2001 From: Jenn Magder Date: Tue, 10 Sep 2024 10:19:53 -0700 Subject: [PATCH 3/4] Fix comment --- shell/platform/darwin/macos/BUILD.gn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shell/platform/darwin/macos/BUILD.gn b/shell/platform/darwin/macos/BUILD.gn index e6a2844542ce4..1224e15e02e5c 100644 --- a/shell/platform/darwin/macos/BUILD.gn +++ b/shell/platform/darwin/macos/BUILD.gn @@ -248,7 +248,7 @@ copy("copy_framework_module_map") { outputs = [ "$_flutter_framework_dir/Versions/A/Modules/module.modulemap" ] } -# Copy privacy manifest. This empty plist is required by Apple for third-party SDKs. +# Copy privacy manifest. This file is required by Apple for third-party SDKs. # See https://developer.apple.com/documentation/bundleresources/privacy_manifest_files copy("copy_framework_privacy_manifest") { visibility = [ ":*" ] From f7419c0b27d3123690b68b0232598b84604f65f2 Mon Sep 17 00:00:00 2001 From: Jenn Magder Date: Tue, 10 Sep 2024 12:10:30 -0700 Subject: [PATCH 4/4] License --- ci/licenses_golden/licenses_flutter | 1 + 1 file changed, 1 insertion(+) diff --git a/ci/licenses_golden/licenses_flutter b/ci/licenses_golden/licenses_flutter index 832c014b39bfb..a04e1a4e1a921 100644 --- a/ci/licenses_golden/licenses_flutter +++ b/ci/licenses_golden/licenses_flutter @@ -47389,6 +47389,7 @@ FILE: ../../../flutter/shell/platform/darwin/macos/framework/Headers/FlutterPlug FILE: ../../../flutter/shell/platform/darwin/macos/framework/Headers/FlutterPluginRegistrarMacOS.h FILE: ../../../flutter/shell/platform/darwin/macos/framework/Headers/FlutterViewController.h FILE: ../../../flutter/shell/platform/darwin/macos/framework/Info.plist +FILE: ../../../flutter/shell/platform/darwin/macos/framework/PrivacyInfo.xcprivacy FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/AccessibilityBridgeMac.h FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/AccessibilityBridgeMac.mm FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/AccessibilityBridgeMacTest.mm