ITMS-91064: corregir «Invalid tracking information»
Per Mehdi Azizi
Publicat el , 5 min
ITMS-91064 Invalid tracking information: què vol dir l'error, per què Apple rebutja el manifest de privacitat i com corregir-lo en una app Expo.
ITMS-91064 és un rebuig automàtic d'Apple que t'arriba per correu després de lliurar el build. Vol dir que les dues claus de seguiment del teu manifest de privacitat es contradiuen. La solució: posar d'acord NSPrivacyTracking i NSPrivacyTrackingDomains i tornar a fer un build.
Me'l vaig trobar a TradaZen, la meva app d'entrenament de trading, després d'afegir-hi una eina de mesura publicitària. Aquí tens la causa i la solució.
Què vol dir l'error ITMS-91064?
El missatge es titula «ITMS-91064: Invalid tracking information». Apunta a un fitxer PrivacyInfo.xcprivacy, el manifest de privacitat que cada app i cada SDK pot incloure. Aquest fitxer conté, entre altres coses, dues claus relacionades amb el seguiment, en el sentit d'App Tracking Transparency:
NSPrivacyTracking: cert si l'app o l'SDK fa servir dades per al seguiment.NSPrivacyTrackingDomains: la llista dels dominis que es contacten per a aquest seguiment.
Apple descriu les tres combinacions rebutjades a la seva nota tècnica sobre els manifests no vàlids:
NSPrivacyTrackingés cert i la llista de dominis és buida. Cal omplir la llista. Era el meu cas.NSPrivacyTrackingés cert però un domini està mal escrit. Un domini s'escriu sense ruta ni barra final.- Hi ha dominis a la llista però
NSPrivacyTrackingés fals. Cal treure la llista.
La regla de fons és a la documentació sobre els manifests de privacitat: quan NSPrivacyTracking és cert, has de proporcionar la llista de dominis.
El correu d'Apple et dona el nom i la ruta del fitxer problemàtic. Llegeix aquesta ruta: et diu si el problema ve del manifest de la teva app o del d'un SDK inclòs.
Com amb els altres errors ITMS, no és el rebuig d'un revisor. El control és automàtic, en lliurar el build, i el build queda descartat.
Per què passa: un manifest per objectiu
Aquí hi ha la trampa. Sovint un SDK porta el seu propi manifest, amb els seus dominis. Podries pensar que n'hi ha prou. Però la teva app també té el seu, i en el meu cas Apple va rebutjar el de l'app.
El meu cas, el 21 de juliol de 2026. En connectar una eina de mesura publicitària a TradaZen, havia declarat NSPrivacyTracking: true a la configuració de l'app, cosa que és correcta. Però no havia afegit NSPrivacyTrackingDomains. El manifest de l'SDK estava complet. El de l'app, generat per Expo a partir de la meva configuració, deia «cert» amb una llista buida. El build es va rebutjar durant el processament.
La lliçó: el manifest de l'SDK no cobreix el de la teva app. Si declares seguiment a la configuració, també hi declares els dominis.
Corregir ITMS-91064 en una app Expo
Amb Expo, el manifest de l'app es configura a ios.privacyManifests. El principi és a la documentació d'Expo sobre privacitat, i la clau a la referència de configuració.
- Troba els dominis de seguiment de l'SDK. Copia la llista del manifest de la versió que inclou el teu build, no la de l'última versió publicada: poden ser diferents. No te'ls inventis.
- Afegeix-los a la configuració. Els dos dominis de sota són exemples que has de substituir:
{
"expo": {
"ios": {
"privacyManifests": {
"NSPrivacyTracking": true,
"NSPrivacyTrackingDomains": [
"example-tracking-domain.com",
"another-tracking-domain.com"
]
}
}
}
}
- Comprova el fitxer generat abans de pagar un build, si Expo genera la teva carpeta
iosi git la ignora. Executanpx expo prebuild -p iosi obre el fitxerPrivacyInfo.xcprivacycreat a la carpetaios. Ha de contenirNSPrivacyTrackingatruei la llista completa de dominis. - Torna a fer un build i envia'l. El manifest forma part del binari: una actualització remota no el modifica.
Compte amb el pas 3: aquesta ordre pot esborrar i tornar a crear la carpeta ios. Si hi has fet canvis a mà, no l'executis al teu projecte. Treballa sobre una còpia.
Si la teva app no fa cap seguiment, el camí és més curt: posa NSPrivacyTracking a false i treu la llista.
Què canvien aquests dominis per als teus usuaris
Declarar aquests dominis no és un simple tràmit. Segons la documentació d'Apple, si l'usuari no ha acceptat el seguiment a la finestra d'App Tracking Transparency, les peticions a aquests dominis fallen. És el comportament esperat: el seguiment només s'envia si la persona ha dit que sí.
La teva fitxa de l'App Store ha de dir el mateix. Si el manifest declara seguiment, les declaracions de privacitat de la fitxa i la teva política de privacitat també ho han de dir. Si no, després t'arrisques al rebuig d'un revisor per les guidelines 5.1.1 o 5.1.2: tens els detalls a política de privacitat d'una aplicació.
Enviar el build sense sorpreses
Els errors ITMS es corregeixen ràpid quan saps llegir-los. Els rebuigs que arriben després demanen més perspectiva: el procés és a la pàgina aplicació rebutjada per Apple, i els motius més habituals a per què Apple rebutja una app.
Per revisar el teu projecte abans d'enviar-lo, l'Apple Review Kit reuneix la meva checklist i skills de Claude Code que repassen el teu projecte. Si l'enviament se t'encalla i vols una mirada humana, reserva una hora amb mi: revisem el teu projecte per videotrucada, a la teva pantalla. I si prepares el teu primer llançament, fes el diagnòstic gratuït: t'ordena els passos i t'envia la meva checklist antirebuig d'Apple.
Preguntes freqüents
ITMS-91064 és un rebuig d'App Review?
No en el sentit d'un revisor humà. És un control automàtic que es fa sobre el build quan el lliures, abans de passar a revisió. El build queda descartat: has de corregir el manifest de privacitat i enviar un build nou.
Què cal posar a NSPrivacyTrackingDomains?
Els dominis que la teva app o els teus SDK contacten per al seguiment. Copia els que l'SDK llista al manifest de la versió que inclou el teu build. Una llista buida amb NSPrivacyTracking a true és una de les combinacions que Apple rebutja.
El manifest del meu SDK no n'hi ha prou?
No. A TradaZen, el manifest de l'SDK estava complet i el build es va rebutjar igualment: el de l'app declarava seguiment sense cap domini. Si la configuració de la teva app declara seguiment, també ha de llistar els dominis.
La meva app no fa seguiment: què he de fer?
Posa NSPrivacyTracking a false a la configuració i treu la llista de dominis. Després comprova que la fitxa de l'App Store i la política de privacitat diuen el mateix.
Es pot corregir ITMS-91064 sense tornar a fer un build?
No. El manifest de privacitat forma part del binari que envies a Apple. Has de corregir la configuració, tornar a fer un build i enviar-lo de nou.