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
10
CHANGELOG.md
10
CHANGELOG.md
|
|
@ -2,6 +2,16 @@
|
|||
|
||||
## Unreleased
|
||||
|
||||
- ITMS-91064 (pitfall 29): a real build was refused as Invalid Binary a minute after the upload because the app's
|
||||
PrivacyInfo.xcprivacy had NSPrivacyTracking true with an empty NSPrivacyTrackingDomains (tracking came from an ad
|
||||
SDK whose own manifest declared it). Rule in every manifest: true needs a non-empty list, a non-empty list needs
|
||||
true; `check`, `scan` and `privacy-manifest` fail on either mismatch with the exact ITMS text. App Privacy
|
||||
"used for tracking" no longer requires the app manifest's true: `check` finds SDK manifests that declare tracking
|
||||
(Pods, frameworks, SwiftPM checkouts, Carthage, Capacitor plugins, the last built IPA) and says so as info, names
|
||||
known tracking SDKs from the dependencies, and only warns when nothing declares it. `privacy-manifest --propose
|
||||
[--tracking-domains]` prints the app manifest with true only for `appPrivacy.trackingDomains` (the app's own
|
||||
domains); the scan proposal says false for SDK tracking. `apple upload` reads every manifest in the IPA (app root,
|
||||
Frameworks, bundles; XML or binary plists) and stops before any network call; `apple build` checks the export.
|
||||
- Play console steps without an API, from a real first release (2026-10-12; pitfalls 27 and 28). New agent-only
|
||||
`console plan` / `console verify` forms (also in the MCP `console_plan` / `console_verify` lists):
|
||||
`play-store-settings` (the App category: `play listing` cannot set it, so a new app showed "Not selected"; the
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue