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>
This commit is contained in:
2026-06-15 13:06:16 +09:00
parent 4df30c3f40
commit 395e4a189b
2 changed files with 12 additions and 8 deletions
+11 -7
View File
@@ -2,14 +2,18 @@
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<!-- The app uses data for tracking (personalized ads, gated by the ATT
prompt). Google's AdMob/Firebase SDKs ship their own privacy manifests
that declare the tracking domains; this app-level manifest declares the
app's own collected data and required-reason API usage. -->
<!-- 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>
<true/>
<key>NSPrivacyTrackingDomains</key>
<array/>
<false/>
<key>NSPrivacyCollectedDataTypes</key>
<array>
<dict>
+1 -1
View File
@@ -16,7 +16,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
# In Windows, build-name is used as the major, minor, and patch parts
# of the product and file versions while build-number is used as the build suffix.
version: 1.0.0+2
version: 1.0.0+3
environment:
sdk: ^3.9.2