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..bfcb4fcbb7808 100644 --- a/shell/platform/darwin/ios/BUILD.gn +++ b/shell/platform/darwin/ios/BUILD.gn @@ -373,6 +373,15 @@ 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" ] + outputs = [ "$_flutter_framework_dir/PrivacyInfo.xcprivacy" ] +} + action("copy_framework_headers") { script = "//flutter/sky/tools/install_framework_headers.py" visibility = [ ":*" ] @@ -415,6 +424,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 +447,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 + + + + +