forked from jsnbuchanan/crowd-funder-for-time-pwa
add a privacy-fixer project that may have fixed the GoogleToolboxForMac privacy manifext problem
https://github.com/crasowas/app_privacy_manifest_fixer
This commit is contained in:
80
ios/App/app_privacy_manifest_fixer/Common/constants.sh
Executable file
80
ios/App/app_privacy_manifest_fixer/Common/constants.sh
Executable file
@@ -0,0 +1,80 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Copyright (c) 2025, crasowas.
|
||||
#
|
||||
# Use of this source code is governed by a MIT-style license
|
||||
# that can be found in the LICENSE file or at
|
||||
# https://opensource.org/licenses/MIT.
|
||||
|
||||
set -e
|
||||
|
||||
# Prevent duplicate loading
|
||||
if [ -n "$CONSTANTS_SH_LOADED" ]; then
|
||||
return
|
||||
fi
|
||||
|
||||
readonly CONSTANTS_SH_LOADED=1
|
||||
|
||||
# File name of the privacy manifest
|
||||
readonly PRIVACY_MANIFEST_FILE_NAME="PrivacyInfo.xcprivacy"
|
||||
|
||||
# Common privacy manifest template file names
|
||||
readonly APP_TEMPLATE_FILE_NAME="AppTemplate.xcprivacy"
|
||||
readonly FRAMEWORK_TEMPLATE_FILE_NAME="FrameworkTemplate.xcprivacy"
|
||||
|
||||
# Universal delimiter
|
||||
readonly DELIMITER=":"
|
||||
|
||||
# Space escape symbol for handling space in path
|
||||
readonly SPACE_ESCAPE="\u0020"
|
||||
|
||||
# Default value when the version cannot be retrieved
|
||||
readonly UNKNOWN_VERSION="unknown"
|
||||
|
||||
# Categories of required reason APIs
|
||||
readonly API_CATEGORIES=(
|
||||
"NSPrivacyAccessedAPICategoryFileTimestamp"
|
||||
"NSPrivacyAccessedAPICategorySystemBootTime"
|
||||
"NSPrivacyAccessedAPICategoryDiskSpace"
|
||||
"NSPrivacyAccessedAPICategoryActiveKeyboards"
|
||||
"NSPrivacyAccessedAPICategoryUserDefaults"
|
||||
)
|
||||
|
||||
# Symbol of the required reason APIs and their categories
|
||||
#
|
||||
# See also:
|
||||
# * https://developer.apple.com/documentation/bundleresources/describing-use-of-required-reason-api
|
||||
# * https://github.com/Wooder/ios_17_required_reason_api_scanner/blob/main/required_reason_api_binary_scanner.sh
|
||||
readonly API_SYMBOLS=(
|
||||
# NSPrivacyAccessedAPICategoryFileTimestamp
|
||||
"NSPrivacyAccessedAPICategoryFileTimestamp${DELIMITER}getattrlist"
|
||||
"NSPrivacyAccessedAPICategoryFileTimestamp${DELIMITER}getattrlistbulk"
|
||||
"NSPrivacyAccessedAPICategoryFileTimestamp${DELIMITER}fgetattrlist"
|
||||
"NSPrivacyAccessedAPICategoryFileTimestamp${DELIMITER}stat"
|
||||
"NSPrivacyAccessedAPICategoryFileTimestamp${DELIMITER}fstat"
|
||||
"NSPrivacyAccessedAPICategoryFileTimestamp${DELIMITER}fstatat"
|
||||
"NSPrivacyAccessedAPICategoryFileTimestamp${DELIMITER}lstat"
|
||||
"NSPrivacyAccessedAPICategoryFileTimestamp${DELIMITER}getattrlistat"
|
||||
"NSPrivacyAccessedAPICategoryFileTimestamp${DELIMITER}NSFileCreationDate"
|
||||
"NSPrivacyAccessedAPICategoryFileTimestamp${DELIMITER}NSFileModificationDate"
|
||||
"NSPrivacyAccessedAPICategoryFileTimestamp${DELIMITER}NSURLContentModificationDateKey"
|
||||
"NSPrivacyAccessedAPICategoryFileTimestamp${DELIMITER}NSURLCreationDateKey"
|
||||
# NSPrivacyAccessedAPICategorySystemBootTime
|
||||
"NSPrivacyAccessedAPICategorySystemBootTime${DELIMITER}systemUptime"
|
||||
"NSPrivacyAccessedAPICategorySystemBootTime${DELIMITER}mach_absolute_time"
|
||||
# NSPrivacyAccessedAPICategoryDiskSpace
|
||||
"NSPrivacyAccessedAPICategoryDiskSpace${DELIMITER}statfs"
|
||||
"NSPrivacyAccessedAPICategoryDiskSpace${DELIMITER}statvfs"
|
||||
"NSPrivacyAccessedAPICategoryDiskSpace${DELIMITER}fstatfs"
|
||||
"NSPrivacyAccessedAPICategoryDiskSpace${DELIMITER}fstatvfs"
|
||||
"NSPrivacyAccessedAPICategoryDiskSpace${DELIMITER}NSFileSystemFreeSize"
|
||||
"NSPrivacyAccessedAPICategoryDiskSpace${DELIMITER}NSFileSystemSize"
|
||||
"NSPrivacyAccessedAPICategoryDiskSpace${DELIMITER}NSURLVolumeAvailableCapacityKey"
|
||||
"NSPrivacyAccessedAPICategoryDiskSpace${DELIMITER}NSURLVolumeAvailableCapacityForImportantUsageKey"
|
||||
"NSPrivacyAccessedAPICategoryDiskSpace${DELIMITER}NSURLVolumeAvailableCapacityForOpportunisticUsageKey"
|
||||
"NSPrivacyAccessedAPICategoryDiskSpace${DELIMITER}NSURLVolumeTotalCapacityKey"
|
||||
# NSPrivacyAccessedAPICategoryActiveKeyboards
|
||||
"NSPrivacyAccessedAPICategoryActiveKeyboards${DELIMITER}activeInputModes"
|
||||
# NSPrivacyAccessedAPICategoryUserDefaults
|
||||
"NSPrivacyAccessedAPICategoryUserDefaults${DELIMITER}NSUserDefaults"
|
||||
)
|
||||
Reference in New Issue
Block a user