ITMS-91064: korjaa “Invalid tracking information” -virhe
Kirjoittaja: Mehdi Azizi
Julkaistu , 5 min
ITMS-91064 tarkoittaa, että tietosuojamanifestin seuranta-avaimet ovat ristiriidassa. Korjaa NSPrivacyTracking ja domainit ja tee uusi build.
ITMS-91064 on Applen automaattinen hylkäys, joka tulee sähköpostilla, kun olet toimittanut buildisi. Se tarkoittaa, että tietosuojamanifestisi kaksi seuranta-avainta ovat ristiriidassa keskenään. Korjaus: laita NSPrivacyTracking ja NSPrivacyTrackingDomains vastaamaan toisiaan, ja tee sitten uusi build.
Sain tämän virheen TradaZenissa, treidausharjoitteluun tekemässäni sovelluksessa, kun olin lisännyt siihen mainonnan mittaustyökalun. Tässä syy ja korjaus.
Mitä ITMS-91064-virhe tarkoittaa?
Viestin otsikko on "ITMS-91064: Invalid tracking information". Se koskee PrivacyInfo.xcprivacy-tiedostoa eli tietosuojamanifestia, joka jokaisella sovelluksella ja SDK:lla voi olla mukanaan. Tiedostossa on muun muassa kaksi seurantaan liittyvää avainta, App Tracking Transparencyn tarkoittamassa mielessä:
NSPrivacyTracking: tosi, jos sovellus tai SDK käyttää dataa seurantaan.NSPrivacyTrackingDomains: lista domaineista, joihin seurantaa varten otetaan yhteyttä.
Apple kuvaa kolme hylättävää yhdistelmää virheellisiä manifesteja käsittelevässä teknisessä muistiossaan:
NSPrivacyTrackingon tosi ja domainlista on tyhjä. Lista pitää täyttää. Tämä oli minun tapaukseni.NSPrivacyTrackingon tosi, mutta jokin domain on kirjoitettu väärin. Domain kirjoitetaan ilman polkua ja ilman loppukauttaviivaa.- Domaineja on listattu, vaikka
NSPrivacyTrackingon epätosi. Lista pitää poistaa.
Perussääntö löytyy tietosuojamanifesteja koskevasta dokumentaatiosta: kun NSPrivacyTracking on tosi, domainlista on annettava.
Applen sähköpostissa on virheellisen tiedoston nimi ja polku. Lue se polku: siitä näet, johtuuko ongelma sovelluksesi manifestista vai mukana olevan SDK:n manifestista.
Kuten muissakin ITMS-virheissä, kyse ei ole reviewerin hylkäyksestä. Tarkistus on automaattinen, se tehdään buildin toimituksen yhteydessä, ja build hylätään.
Miksi näin käy: jokaisella kohteella oma manifesti
Tämä on se ansa. SDK:lla on usein oma manifestinsa domaineineen. Voisit luulla, että se riittää. Mutta sovelluksellasi on myös omansa, ja minun tapauksessani Apple hylkäsi nimenomaan sovelluksen manifestin.
Minun tapaukseni 21. heinäkuuta 2026. Kun kytkin mainonnan mittaustyökalun TradaZeniin, olin asettanut sovelluksen konfiguraatioon NSPrivacyTracking: true, mikä pitää paikkansa. Mutta en ollut lisännyt NSPrivacyTrackingDomains-avainta. SDK:n manifesti oli kunnossa. Sovelluksen manifesti, jonka Expo generoi konfiguraatiostani, sanoi "tosi" tyhjällä listalla. Build hylättiin käsittelyssä.
Opetus: SDK:n manifesti ei kata sovelluksesi manifestia. Jos ilmoitat konfiguraatiossasi seurannasta, ilmoitat myös domainit.
ITMS-91064:n korjaaminen Expo-sovelluksessa
Expossa sovelluksen manifesti määritetään konfiguraatiossa kohdassa ios.privacyManifests. Periaate on selitetty Expon tietosuojadokumentaatiossa ja avain konfiguraatioreferenssissä.
- Etsi SDK:n seurantadomainit. Kopioi lista sen version manifestista, joka buildissasi on mukana, älä uusimman verkossa olevan version manifestista: ne voivat erota toisistaan. Älä keksi niitä itse.
- Lisää ne konfiguraatioosi. Alla olevat kaksi domainia ovat esimerkkejä, jotka korvaat omillasi:
{
"expo": {
"ios": {
"privacyManifests": {
"NSPrivacyTracking": true,
"NSPrivacyTrackingDomains": [
"example-tracking-domain.com",
"another-tracking-domain.com"
]
}
}
}
}
- Tarkista generoitu tiedosto ennen kuin maksat buildista, jos
ios-kansiosi on Expon generoima ja gitin ohittama. Ajanpx expo prebuild -p iosja avaa sittenios-kansioon luotuPrivacyInfo.xcprivacy-tiedosto. Siinä pitää ollaNSPrivacyTrackingarvollatrueja koko domainlista. - Tee uusi build ja lähetä se uudelleen. Manifesti on osa binääriä: etäpäivitys ei muuta sitä.
Varo vaihetta 3: tämä komento voi poistaa ios-kansion ja luoda sen uudelleen. Jos olet tehnyt sinne muutoksia käsin, älä aja komentoa projektissasi. Työskentele kopion kanssa.
Jos sovelluksesi ei seuraa käyttäjiä lainkaan, polku on lyhyempi: aseta NSPrivacyTracking arvoon false ja poista lista.
Mitä nämä domainit muuttavat käyttäjillesi
Domainien ilmoittaminen ei ole pelkkä muodollisuus. Applen dokumentaation mukaan, jos käyttäjä ei ole hyväksynyt seurantaa App Tracking Transparencyn ikkunassa, pyynnöt näihin domaineihin epäonnistuvat. Näin on tarkoituskin: seurantaa tapahtuu vain, jos ihminen on sanonut kyllä.
App Store -sivusi pitää kertoa sama tarina. Jos manifestisi ilmoittaa seurannasta, myös sivusi tietosuojailmoitusten ja tietosuojakäytäntösi pitää kertoa siitä. Muuten riskinä on myöhemmin reviewerin hylkäys guidelinejen 5.1.1 tai 5.1.2 perusteella: yksityiskohdat ovat artikkelissa sovelluksen tietosuojakäytäntö.
Lähetä buildisi ilman ikäviä yllätyksiä
ITMS-virheet korjaantuvat nopeasti, kun osaa lukea ne. Myöhemmin tulevat hylkäykset vaativat enemmän perspektiiviä: toimintatapa on sivulla Applen hylkäämä sovellus, ja yleisimmät syyt löytyvät artikkelista miksi Apple hylkää sovelluksen.
Jos haluat tarkistaa projektisi ennen lähetystä, Apple Review Kit sisältää tarkistuslistani ja Claude Code -skillejä, jotka käyvät projektisi läpi. Jos lähetyksesi jumittaa ja haluat ihmisen katsovan sitä, varaa tunti kanssani: käydään projektisi läpi videopuhelussa, sinun näytölläsi. Ja jos valmistelet ensimmäistä julkaisuasi, tee ilmainen diagnostiikka: se laittaa vaiheet oikeaan järjestykseen ja lähettää sinulle tarkistuslistani Applen hylkäysten välttämiseen.
Usein kysytyt kysymykset
Onko ITMS-91064 App Review -hylkäys?
Ei ihmisreviewerin hylkäyksen mielessä. Se on automaattinen tarkistus, joka tehdään buildille sen toimituksen yhteydessä, ennen tarkastukseen siirtymistä. Build hylätään: tietosuojamanifesti pitää korjata ja lähettää uusi build.
Mitä NSPrivacyTrackingDomains-avaimeen pitää laittaa?
Domainit, joihin sovelluksesi tai SDK:si ottavat yhteyttä seurantaa varten. Kopioi ne, jotka SDK listaa buildissasi mukana olevan version manifestissa. Tyhjä lista yhdessä NSPrivacyTracking-arvon true kanssa on yksi Applen hylkäämistä yhdistelmistä.
Eikö SDK:ni manifesti riitä?
Ei. TradaZenissa SDK:n manifesti oli kunnossa, ja build hylättiin silti: sovelluksen manifesti ilmoitti seurannasta ilman yhtään domainia. Jos sovelluksesi konfiguraatio ilmoittaa seurannasta, sen pitää myös listata domainit.
Sovellukseni ei seuraa käyttäjiä: mitä teen?
Aseta konfiguraatiossasi NSPrivacyTracking arvoon false ja poista domainlista. Tarkista sen jälkeen, että App Store -sivusi ja tietosuojakäytäntösi kertovat saman asian.
Voiko ITMS-91064:n korjata tekemättä uutta buildia?
Ei. Tietosuojamanifesti on osa Applelle lähetettyä binääriä. Konfiguraatio pitää korjata, tehdä uusi build ja lähettää se uudelleen.