From 6a87a8d5e9ea242401918a90e44f7428517d2b7a Mon Sep 17 00:00:00 2001 From: Neelagiri65 Date: Mon, 8 Jun 2026 13:56:10 +0530 Subject: [PATCH] Add PrivacyInfo.xcprivacy declaring NSPrivacyAccessedAPICategoryUserDefaults MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The app reads UserDefaults in two ways that require declaration under Apple's Required Reason API rules (in force since May 2024): - UserDefaults.standard in Packages/Env/Sources/Env/UserPreferences.swift:88 (the prepareTranslationType path) → CA92.1 (same-app data). - UserDefaults(suiteName: 'group.com.thomasricouard.IceCubesApp') in Packages/Env/Sources/Env/UserPreferences.swift:109, shared with the widget/notification extensions → 1C8F.1 (same-app-group data). Without this declaration, App Store Connect will block new submissions with ITMS-91053 ('Missing API declaration'). Xcode's synchronized folder groups should include the file in the main app target automatically; please verify in the Copy Bundle Resources build phase before merging. Note: extension targets (IceCubesActionExtension, IceCubesShareExtension, IceCubesNotifications, IceCubesAppWidgetsExtension) that import Env and therefore transitively use UserDefaults may need their own copies of this manifest in their respective Resources folders — out of scope for this PR. Discovered with PrivacyLint (https://github.com/Neelagiri65/privacylint). The scanner also reported 14 'creationDate' findings that are SwiftData @Model property names rather than file-timestamp Required Reason API calls — those are false positives in v1 (no semantic type resolution) and not addressed here. --- IceCubesApp/PrivacyInfo.xcprivacy | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 IceCubesApp/PrivacyInfo.xcprivacy diff --git a/IceCubesApp/PrivacyInfo.xcprivacy b/IceCubesApp/PrivacyInfo.xcprivacy new file mode 100644 index 000000000..0f10af35c --- /dev/null +++ b/IceCubesApp/PrivacyInfo.xcprivacy @@ -0,0 +1,24 @@ + + + + + NSPrivacyTracking + + NSPrivacyTrackingDomains + + NSPrivacyCollectedDataTypes + + NSPrivacyAccessedAPITypes + + + NSPrivacyAccessedAPIType + NSPrivacyAccessedAPICategoryUserDefaults + NSPrivacyAccessedAPITypeReasons + + CA92.1 + 1C8F.1 + + + + +