[Scummvm-git-logs] scummvm master -> 74caec446b0e507d7514eb969f7b5d04653aa2ec

bluegr noreply at scummvm.org
Fri Sep 6 12:49:49 UTC 2024


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
74caec446b DISTS: Add PrivacyInfo.xcprivacy to ios7 and tvos


Commit: 74caec446b0e507d7514eb969f7b5d04653aa2ec
    https://github.com/scummvm/scummvm/commit/74caec446b0e507d7514eb969f7b5d04653aa2ec
Author: Lars Sundström (l.sundstrom at gmail.com)
Date: 2024-09-06T15:49:46+03:00

Commit Message:
DISTS: Add PrivacyInfo.xcprivacy to ios7 and tvos

Apple will require a valid privacy manifest file bundled for
applications uploaded to App Store Connect.
The privacy manifest describes the privacy practices of an app,
describing the reasons of use of some core APIs that can be
misused to try to identify the device or user, also known as
fingerprinting.

Read more about which APIs that require a privacy manifest here:
https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/describing_use_of_required_reason_api

Add such manifest to ios7 and tvos ports and make sure they are
bundled with the app.

Changed paths:
  A dists/ios7/PrivacyInfo.xcprivacy
  A dists/tvos/PrivacyInfo.xcprivacy
    devtools/create_project/xcode.cpp
    ports.mk


diff --git a/devtools/create_project/xcode.cpp b/devtools/create_project/xcode.cpp
index 8d9df77f51c..15c3cc0e54f 100644
--- a/devtools/create_project/xcode.cpp
+++ b/devtools/create_project/xcode.cpp
@@ -167,6 +167,10 @@ bool shouldSkipFileForTarget(const std::string &fileID, const std::string &targe
 		if (name.length() > 4 && name.substr(0, 4) == "ios-") {
 			return true;
 		}
+		// macOS target: we skip the xcprivacy file required for iOS and tvOS targets
+		if (ext == "xcprivacy") {
+			return true;
+		}
 		// parent directory
 		const std::string directory = fileID.substr(0, fileID.length() - fileName.length());
 		static const std::string iphone_directory = "backends/platform/ios7";
@@ -300,7 +304,9 @@ XcodeProvider::XcodeProvider(StringList &global_warnings, std::map<std::string,
 
 void XcodeProvider::addResourceFiles(const BuildSetup &setup, StringList &includeList, StringList &excludeList) {
 	includeList.push_back(setup.srcDir + "/dists/ios7/Info.plist");
+	includeList.push_back(setup.srcDir + "/dists/ios7/PrivacyInfo.xcprivacy");
 	includeList.push_back(setup.srcDir + "/dists/tvos/Info.plist");
+	includeList.push_back(setup.srcDir + "/dists/tvos/PrivacyInfo.xcprivacy");
 
 	ValueList &resources = getResourceFiles(setup);
 	for (ValueList::iterator it = resources.begin(); it != resources.end(); ++it) {
@@ -1040,7 +1046,9 @@ XcodeProvider::ValueList& XcodeProvider::getResourceFiles(const BuildSetup &setu
 		files.push_back("gui/themes/translations.dat");
 		files.push_back("dists/ios7/ios-help.zip");
 		files.push_back("dists/ios7/LaunchScreen_ios.storyboard");
+		files.push_back("dists/ios7/PrivacyInfo.xcprivacy");
 		files.push_back("dists/tvos/LaunchScreen_tvos.storyboard");
+		files.push_back("dists/tvos/PrivacyInfo.xcprivacy");
 		files.push_back("dists/networking/wwwroot.zip");
 		if (CONTAINS_DEFINE(setup.defines, "ENABLE_GRIM")) {
 			files.push_back("engines/grim/shaders/grim_dim.fragment");
diff --git a/dists/ios7/PrivacyInfo.xcprivacy b/dists/ios7/PrivacyInfo.xcprivacy
new file mode 100644
index 00000000000..1a959b24822
--- /dev/null
+++ b/dists/ios7/PrivacyInfo.xcprivacy
@@ -0,0 +1,33 @@
+<?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>NSPrivacyAccessedAPITypes</key>
+	<array>
+		<dict>
+			<key>NSPrivacyAccessedAPIType</key>
+			<string>NSPrivacyAccessedAPICategorySystemBootTime</string>
+			<key>NSPrivacyAccessedAPITypeReasons</key>
+			<array>
+				<string>35F9.1</string>
+			</array>
+		</dict>
+		<dict>
+			<key>NSPrivacyAccessedAPIType</key>
+			<string>NSPrivacyAccessedAPICategoryUserDefaults</string>
+			<key>NSPrivacyAccessedAPITypeReasons</key>
+			<array>
+				<string>CA92.1</string>
+			</array>
+		</dict>
+		<dict>
+			<key>NSPrivacyAccessedAPIType</key>
+			<string>NSPrivacyAccessedAPICategoryFileTimestamp</string>
+			<key>NSPrivacyAccessedAPITypeReasons</key>
+			<array>
+				<string>C617.1</string>
+			</array>
+		</dict>
+	</array>
+</dict>
+</plist>
diff --git a/dists/tvos/PrivacyInfo.xcprivacy b/dists/tvos/PrivacyInfo.xcprivacy
new file mode 100644
index 00000000000..1a959b24822
--- /dev/null
+++ b/dists/tvos/PrivacyInfo.xcprivacy
@@ -0,0 +1,33 @@
+<?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>NSPrivacyAccessedAPITypes</key>
+	<array>
+		<dict>
+			<key>NSPrivacyAccessedAPIType</key>
+			<string>NSPrivacyAccessedAPICategorySystemBootTime</string>
+			<key>NSPrivacyAccessedAPITypeReasons</key>
+			<array>
+				<string>35F9.1</string>
+			</array>
+		</dict>
+		<dict>
+			<key>NSPrivacyAccessedAPIType</key>
+			<string>NSPrivacyAccessedAPICategoryUserDefaults</string>
+			<key>NSPrivacyAccessedAPITypeReasons</key>
+			<array>
+				<string>CA92.1</string>
+			</array>
+		</dict>
+		<dict>
+			<key>NSPrivacyAccessedAPIType</key>
+			<string>NSPrivacyAccessedAPICategoryFileTimestamp</string>
+			<key>NSPrivacyAccessedAPITypeReasons</key>
+			<array>
+				<string>C617.1</string>
+			</array>
+		</dict>
+	</array>
+</dict>
+</plist>
diff --git a/ports.mk b/ports.mk
index 01079711511..1afc5ab7bcc 100644
--- a/ports.mk
+++ b/ports.mk
@@ -361,6 +361,7 @@ endif
 	cp $(srcdir)/dists/ios7/Images.xcassets/LaunchImage.launchimage/ScummVM-splash-2208x1242.png $(bundle_name)/LaunchImage-800-Landscape-736h at 3x.png
 	cp $(srcdir)/dists/ios7/Images.xcassets/LaunchImage.launchimage/ScummVM-splash-750x1334.png $(bundle_name)/LaunchImage-800-667h at 2x.png
 	cp $(srcdir)/dists/ios7/Assets.car $(bundle_name)/Assets.car
+	cp $(srcdir)/dists/ios7/PrivacyInfo.xcprivacy $(bundle_name)/PrivacyInfo.xcprivacy
 	codesign -s - --deep --force $(bundle_name)
 
 tvosbundle: scummvm-static-ios
@@ -436,6 +437,7 @@ endif
 	chmod 755 scummvm
 	cp scummvm $(bundle_name)/ScummVM
 	cp -r $(srcdir)/dists/tvos/Assets.car $(bundle_name)/Assets.car
+	cp $(srcdir)/dists/tvos/PrivacyInfo.xcprivacy $(bundle_name)/PrivacyInfo.xcprivacy
 	codesign -s - --deep --force $(bundle_name)
 
 ifndef WITHOUT_SDL




More information about the Scummvm-git-logs mailing list