Files
BlockSeasons/ios/Runner/PrivacyInfo.xcprivacy
T
airkjw 395e4a189b ios: fix ITMS-91064 — set NSPrivacyTracking=false, drop empty domains
Apple rejected build 2: NSPrivacyTracking was true with an empty
NSPrivacyTrackingDomains. Listing AdMob's ad-serving domains would block
ads before ATT consent (same domains serve non-personalized ads), so we
set NSPrivacyTracking=false and remove the domains key — mirroring
Google's own AdMob SDK manifest (DeviceID data type stays tracking=true,
no top-level tracking/domains). Bump to build 3.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-15 13:06:16 +09:00

69 lines
2.5 KiB
XML

<?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>
<!-- NSPrivacyTracking is false at the app level and no tracking domains are
listed. AdMob's ad-serving domains serve BOTH personalized and
non-personalized ads, so listing them in NSPrivacyTrackingDomains would
make iOS block ad requests before ATT consent (breaking ads for users
who decline). This mirrors Google's own AdMob SDK privacy manifest,
which marks the DeviceID data type tracking=true (below) yet sets no
top-level NSPrivacyTracking and no domains. ATT consent is still
requested at runtime via NSUserTrackingUsageDescription (Info.plist).
Apple ITMS-91064 requires: if NSPrivacyTracking is true, the domains
list must be non-empty — so we keep it false. -->
<key>NSPrivacyTracking</key>
<false/>
<key>NSPrivacyCollectedDataTypes</key>
<array>
<dict>
<key>NSPrivacyCollectedDataType</key>
<string>NSPrivacyCollectedDataTypeDeviceID</string>
<key>NSPrivacyCollectedDataTypeLinked</key>
<false/>
<key>NSPrivacyCollectedDataTypeTracking</key>
<true/>
<key>NSPrivacyCollectedDataTypePurposes</key>
<array>
<string>NSPrivacyCollectedDataTypePurposeThirdPartyAdvertising</string>
</array>
</dict>
<dict>
<key>NSPrivacyCollectedDataType</key>
<string>NSPrivacyCollectedDataTypeProductInteraction</string>
<key>NSPrivacyCollectedDataTypeLinked</key>
<false/>
<key>NSPrivacyCollectedDataTypeTracking</key>
<false/>
<key>NSPrivacyCollectedDataTypePurposes</key>
<array>
<string>NSPrivacyCollectedDataTypePurposeAnalytics</string>
<string>NSPrivacyCollectedDataTypePurposeAppFunctionality</string>
</array>
</dict>
</array>
<key>NSPrivacyAccessedAPITypes</key>
<array>
<dict>
<!-- shared_preferences reads/writes the app's own UserDefaults. -->
<key>NSPrivacyAccessedAPIType</key>
<string>NSPrivacyAccessedAPICategoryUserDefaults</string>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>CA92.1</string>
</array>
</dict>
<dict>
<!-- Season content cache reads/writes + stats file timestamps in the
app container (path_provider / ContentDownloader). -->
<key>NSPrivacyAccessedAPIType</key>
<string>NSPrivacyAccessedAPICategoryFileTimestamp</string>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>C617.1</string>
</array>
</dict>
</array>
</dict>
</plist>