ITMS-91064: NSPrivacyTracking and NSPrivacyTrackingDomains must agree in every privacy manifest (true needs domains, domains need true); check, scan and privacy-manifest fail on either mismatch with the exact ITMS text; App Privacy tracking no longer demands the app manifest's true: SDK manifests that declare tracking (Pods, frameworks, SwiftPM, Carthage, plugins, the built IPA) are info, known tracking SDKs info, else a warning; privacy-manifest --propose writes true only with appPrivacy.trackingDomains; apple upload checks every manifest in the IPA (XML or binary) before any network call, apple build after the export. Pitfall 29
This commit is contained in:
parent
b7bfe89151
commit
c8213be2b6
19 changed files with 631 additions and 44 deletions
|
|
@ -376,3 +376,19 @@ that fails without the fix (see CONTRIBUTING.md).
|
|||
Responses?" (Cancel / Publish); afterwards "Published … ago by …" shows, which `console verify apple-app-privacy`
|
||||
reads as the published signal.
|
||||
- **Guard:** appstore-first-release and store-iap-setup skills; `tests/console-play-plans.test.ts`.
|
||||
|
||||
## 29. ITMS-91064: NSPrivacyTracking true with an empty NSPrivacyTrackingDomains
|
||||
- **Symptom:** Apple marks the build Invalid Binary a minute after the upload: "ITMS-91064: Invalid tracking information - A PrivacyInfo.xcprivacy file contains invalid tracking information at the following path: "PrivacyInfo.xcprivacy". NSPrivacyTracking must be true if NSPrivacyTrackingDomains isn't empty. Keys and values in your app's privacy manifests must be valid."
|
||||
- **Cause:** the app's own PrivacyInfo.xcprivacy said NSPrivacyTracking true with an empty NSPrivacyTrackingDomains
|
||||
because App Privacy says "used for tracking", but the tracking came from an ad SDK (mediation, attribution) whose own
|
||||
manifest declares it. Apple's text names the other direction (domains listed with false); both are refused.
|
||||
- **Do:** in every manifest, NSPrivacyTracking true needs a non-empty NSPrivacyTrackingDomains (domains the code of
|
||||
THAT bundle sends tracking data to), and a non-empty list needs true. When only an SDK tracks, the app's manifest
|
||||
says false; App Privacy in App Store Connect still says tracking = yes and ATT stays. Set
|
||||
`appPrivacy.trackingDomains` only for the app's own tracking domains. A bad SDK manifest: update the SDK. Rebuild
|
||||
and upload a new build number.
|
||||
- **Guard:** `check`, `scan` and `privacy-manifest` fail on either mismatch with the ITMS text; `check` reports
|
||||
tracking declared by an SDK manifest as info and warns only when no manifest declares it; `privacy-manifest
|
||||
--propose` writes true only with `appPrivacy.trackingDomains`; `apple upload` checks every manifest in the IPA
|
||||
(app root, Frameworks, bundles) before any network call, `apple build` after the export;
|
||||
`tests/privacy-tracking.test.ts`.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue