Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions sdk/BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -1353,6 +1353,13 @@ if (is_ios || is_mac) {
}
}

bundle_data("darwin_privacy_info") {
sources = [
"objc/PrivacyInfo.xcprivacy",
]
outputs = [ "{{bundle_resources_dir}}/{{source_file_part}}" ]
}

if (is_ios) {
apple_framework_bundle_with_umbrella_header("framework_objc") {
info_plist = "objc/Info.plist"
Expand Down Expand Up @@ -1489,6 +1496,7 @@ if (is_ios || is_mac) {
":videocapture_objc",
":videocodec_objc",
":videotoolbox_objc",
":darwin_privacy_info",
]
if (rtc_ios_macos_use_opengl_rendering) {
deps += [ ":opengl_ui_objc" ]
Expand Down Expand Up @@ -1646,6 +1654,7 @@ if (is_ios || is_mac) {
":desktopcapture_objc",
":videocodec_objc",
":videotoolbox_objc",
":darwin_privacy_info",
]
if (!build_with_chromium) {
deps += [
Expand Down
14 changes: 14 additions & 0 deletions sdk/objc/PrivacyInfo.xcprivacy
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>NSPrivacyTrackingDomains</key>
<array/>
<key>NSPrivacyAccessedAPITypes</key>
<array/>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It appears you haven't specified what type of APIs is used yet.

I think WebRTC uses System boot time APIs

	<key>NSPrivacyAccessedAPITypes</key>
	<array>
		<dict>
			<key>NSPrivacyAccessedAPIType</key>
			<string>NSPrivacyAccessedAPICategorySystemBootTime</string>
			<key>NSPrivacyAccessedAPITypeReasons</key>
			<array>
				<string>35F9.1</string>
				<string>8FFB.1</string>
			</array>
		</dict>
	</array>

Does it also use Disk space APIs ?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It appears to also be using stat() API, used to check file/folder existence:
Screenshot 2024-04-25 10 09 27

Discussion : https://forums.developer.apple.com/forums/thread/734750

So the final result can look like:

	<key>NSPrivacyAccessedAPITypes</key>
	<array>
		<dict>
			<key>NSPrivacyAccessedAPIType</key>
			<string>NSPrivacyAccessedAPICategoryFileTimestamp</string>
			<key>NSPrivacyAccessedAPITypeReasons</key>
			<array>
				<string>C617.1</string>
			</array>
		</dict>
		<dict>
			<key>NSPrivacyAccessedAPIType</key>
			<string>NSPrivacyAccessedAPICategorySystemBootTime</string>
			<key>NSPrivacyAccessedAPITypeReasons</key>
			<array>
				<string>35F9.1</string>
				<string>8FFB.1</string>
			</array>
		</dict>
	</array>

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not confident the NSPrivacyAccessedAPITypeReasons are correct, can you double check ? Thanks !

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

<key>NSPrivacyCollectedDataTypes</key>
<array/>
<key>NSPrivacyTracking</key>
<false/>
</dict>
</plist>