ITMS-91064 hiba: az „Invalid tracking information” javítása
Írta: Mehdi Azizi
Megjelent: , 5 p
ITMS-91064: a privacy manifest két követési kulcsa ellentmond egymásnak. Hozd összhangba az NSPrivacyTracking és NSPrivacyTrackingDomains kulcsot, és buildelj újra.
Az ITMS-91064 az Apple automatikus elutasítása, amit e-mailben kapsz meg, miután feltöltötted a buildet. Azt jelenti, hogy a privacy manifested két követéssel kapcsolatos kulcsa ellentmond egymásnak. A javítás: hozd összhangba az NSPrivacyTracking és az NSPrivacyTrackingDomains kulcsot, aztán készíts új buildet.
Én a TradaZennél futottam bele, a tőzsdei gyakorlóappomnál, miután beépítettem egy hirdetésmérő eszközt. Mutatom az okát és a javítást.
Mit jelent az ITMS-91064 hiba?
Az üzenet címe: „ITMS-91064: Invalid tracking information”. Egy PrivacyInfo.xcprivacy fájlra vonatkozik, vagyis arra a privacy manifestre, amit minden app és minden SDK magával hozhat. Ebben a fájlban többek között két kulcs szól a követésről, az App Tracking Transparency értelmében:
NSPrivacyTracking: igaz, ha az app vagy az SDK követésre használ adatokat.NSPrivacyTrackingDomains: a követéshez megkeresett domainek listája.
Az Apple az érvénytelen manifestekről szóló technikai jegyzetében leírja a három elutasított kombinációt:
- Az
NSPrivacyTrackingigaz, de a domainlista üres. Ki kell tölteni a listát. Nálam ez volt a gond. - Az
NSPrivacyTrackingigaz, de egy domain rosszul van megadva. A domaint útvonal és záró perjel nélkül kell írni. - Vannak domainek a listában, pedig az
NSPrivacyTrackinghamis. Ilyenkor törölni kell a listát.
Az alapszabály a privacy manifestek dokumentációjában van: ha az NSPrivacyTracking igaz, meg kell adnod a domainlistát.
Az Apple e-mailje megadja a hibás fájl nevét és elérési útját. Olvasd el ezt az utat: ebből derül ki, hogy az appod manifestjével vagy egy beépített SDK manifestjével van baj.
A többi ITMS-hibához hasonlóan ez sem egy reviewer elutasítása. Az ellenőrzés automatikus, a build feltöltésekor fut, és a buildet kiszórják.
Miért történik: minden targetnek saját manifestje van
Ez a csapda. Egy SDK gyakran saját manifestet hoz, a saját domainjeivel. Azt hihetnéd, hogy ez elég. Csakhogy az appodnak is van egy, és nálam pont az appét utasította el az Apple.
Az én esetem, 2026. július 21. Amikor bekötöttem egy hirdetésmérő eszközt a TradaZenbe, az app konfigurációjában megadtam az NSPrivacyTracking: true értéket, ami stimmelt is. Viszont nem adtam hozzá az NSPrivacyTrackingDomains kulcsot. Az SDK manifestje teljes volt. Az appé, amit az Expo generált a konfigurációmból, „igazat” mondott üres listával. A buildet feldolgozáskor elutasították.
A tanulság: az SDK manifestje nem fedi le az appodét. Ha a konfigurációdban követést jelzel, a domaineket is meg kell adnod.
Az ITMS-91064 javítása Expo appban
Expóval az app manifestjét a konfigurációban állítod be, az ios.privacyManifests alatt. Az elvet az Expo adatvédelmi dokumentációja írja le, a kulcsot a konfigurációs referencia.
- Keresd meg az SDK követési domainjeit. Annak a verziónak a manifestjéből másold ki a listát, amelyik a buildedben van, ne a legfrissebb online verzióéból: eltérhetnek. Ne találj ki domaineket.
- Add hozzá őket a konfigurációdhoz. Az alábbi két domain csak példa, cseréld le őket:
{
"expo": {
"ios": {
"privacyManifests": {
"NSPrivacyTracking": true,
"NSPrivacyTrackingDomains": [
"example-tracking-domain.com",
"another-tracking-domain.com"
]
}
}
}
}
- Ellenőrizd a generált fájlt, mielőtt fizetnél egy buildért, ha az
iosmappádat az Expo generálja és a git figyelmen kívül hagyja. Futtasd aznpx expo prebuild -p iosparancsot, aztán nyisd meg aziosmappában létrejöttPrivacyInfo.xcprivacyfájlt. Benne kell lennie azNSPrivacyTrackingkulcsnaktrueértékkel és a teljes domainlistának. - Készíts új buildet, és küldd be újra. A manifest a bináris része: egy távoli frissítés nem módosítja.
Figyelj a 3. lépésnél: ez a parancs törölheti, majd újra létrehozhatja az ios mappát. Ha kézzel módosítottál benne valamit, ne futtasd a projekteden. Dolgozz egy másolaton.
Ha az appod egyáltalán nem követ, rövidebb az út: állítsd az NSPrivacyTracking értékét false-ra, és töröld a listát.
Mit jelentenek ezek a domainek a felhasználóidnak?
A domainek megadása nem formalitás. Az Apple dokumentációja szerint ha a felhasználó nem fogadta el a követést az App Tracking Transparency ablakban, az ezekre a domainekre menő kérések sikertelenek lesznek. Ez a várt működés: a követés csak akkor indul, ha az illető igent mondott.
Az App Store-adatlapodnak ugyanezt kell mondania. Ha a manifested követést jelez, az adatlapod adatvédelmi nyilatkozatainak és az adatvédelmi szabályzatodnak is ezt kell tartalmaznia. Különben később egy reviewer elutasíthat az 5.1.1-es vagy az 5.1.2-es guideline alapján: a részletek az app adatvédelmi szabályzata cikkben vannak.
Küldd be a buildedet kellemetlen meglepetés nélkül
Az ITMS-hibák gyorsan javíthatók, ha tudod, hogyan kell olvasni őket. Az utánuk jövő elutasítások több rálátást igényelnek: a teendők az Apple által elutasított app oldalon vannak, a leggyakoribb okok pedig a miért utasítja el az Apple az appot cikkben.
Ha beküldés előtt ellenőriznéd a projektedet, az Apple Review Kit tartalmazza a checklistemet és Claude Code skilleket, amelyek átnézik a projektedet. Ha elakadt a beküldésed, és emberi szemre van szükséged, foglalj velem egy órát: videóhíváson, a te képernyődön nézzük át a projektedet. Ha pedig az első megjelenésedre készülsz, csináld meg az ingyenes diagnózist: sorba rakja a lépéseket, és elküldi neked az Apple-elutasítás elleni checklistemet.
Gyakori kérdések
Az ITMS-91064 App Review-elutasítás?
Nem abban az értelemben, hogy egy emberi reviewer utasítaná el. Ez egy automatikus ellenőrzés, ami a build feltöltésekor fut, még a review előtt. A buildet kiszórják: ki kell javítanod a privacy manifestet, és új buildet kell beküldened.
Mit kell beírni az NSPrivacyTrackingDomains kulcsba?
Azokat a domaineket, amelyeket az appod vagy az SDK-id követéshez megkeresnek. Másold ki azokat, amelyeket az SDK annak a verziónak a manifestjében felsorol, amelyik a buildedben van. Az üres lista true értékű NSPrivacyTracking mellett az Apple által elutasított kombinációk egyike.
Nem elég az SDK-m manifestje?
Nem. A TradaZennél az SDK manifestje teljes volt, a buildet mégis elutasították: az appé követést jelzett egyetlen domain nélkül. Ha az appod konfigurációja követést jelez, a domaineket is fel kell sorolnia.
Az appom nem követ: mit csináljak?
Állítsd az NSPrivacyTracking értékét false-ra a konfigurációdban, és töröld a domainlistát. Utána ellenőrizd, hogy az App Store-adatlapod és az adatvédelmi szabályzatod is ugyanezt mondja.
Javítható az ITMS-91064 új build nélkül?
Nem. A privacy manifest az Apple-nek beküldött bináris része. Javítanod kell a konfigurációt, új buildet kell készítened, és újra be kell küldened.