ITMS-91064: “Invalid tracking information” hatası çözümü
Yazan: Mehdi Azizi
tarihinde yayınlandı, 5 dk.
ITMS-91064, gizlilik manifestindeki NSPrivacyTracking ile NSPrivacyTrackingDomains çeliştiğinde gelir. İkisini uyumlu hale getir, sonra yeni build al.
ITMS-91064, build'ini gönderdikten sonra Apple'ın e-postayla yolladığı otomatik bir ret. Anlamı şu: gizlilik manifestindeki iki takip anahtarı birbiriyle çelişiyor. Çözüm: NSPrivacyTracking ile NSPrivacyTrackingDomains anahtarlarını uyumlu hale getirmek, sonra yeniden build almak.
Bu hatayı, trading antrenman uygulamam TradaZen'e bir reklam ölçüm aracı ekledikten sonra aldım. Nedenini ve çözümünü anlatıyorum.
ITMS-91064 hatası ne anlama geliyor?
Mesajın başlığı "ITMS-91064: Invalid tracking information". Hedefi bir PrivacyInfo.xcprivacy dosyası, yani her uygulamanın ve her SDK'nın içinde taşıyabileceği gizlilik manifesti. Bu dosyada, App Tracking Transparency anlamında takiple ilgili iki anahtar var:
NSPrivacyTracking: uygulama ya da SDK verileri takip için kullanıyorsa true.NSPrivacyTrackingDomains: bu takip için bağlanılan alan adlarının listesi.
Apple, geçersiz manifestler hakkındaki teknik notunda reddedilen üç kombinasyonu anlatıyor:
NSPrivacyTrackingtrue ve alan adı listesi boş. Listeyi doldurman gerekiyor. Benim durumum buydu.NSPrivacyTrackingtrue ama bir alan adı hatalı yazılmış. Alan adı yol ve sondaki eğik çizgi olmadan yazılır.NSPrivacyTrackingfalse iken alan adları listelenmiş. Listeyi kaldırman gerekiyor.
Temel kural gizlilik manifestleri belgesinde: NSPrivacyTracking true ise alan adı listesini vermek zorundasın.
Apple'ın e-postası hatalı dosyanın adını ve yolunu veriyor. Bu yolu oku: sorunun senin uygulamanın manifestinden mi yoksa içerdiği bir SDK'nın manifestinden mi geldiğini söyler.
Diğer ITMS hataları gibi bu da bir reviewer'ın reddi değil. Kontrol otomatik, build gönderildiğinde yapılıyor ve build eleniyor.
Neden oluyor: her hedef için bir manifest
Tuzak burada. Bir SDK çoğu zaman kendi manifestini, kendi alan adlarıyla birlikte taşır. Bunun yeterli olduğunu düşünebilirsin. Ama uygulamanın da kendi manifesti var ve benim durumumda Apple'ın reddettiği, uygulamanın manifestiydi.
Benim vakam, 21 Temmuz 2026. TradaZen'e bir reklam ölçüm aracı bağlarken uygulamanın yapılandırmasında NSPrivacyTracking: true bildirmiştim, bu doğruydu. Ama NSPrivacyTrackingDomains eklememiştim. SDK'nın manifesti eksiksizdi. Uygulamanınki ise, Expo tarafından yapılandırmamdan üretilmişti ve boş bir listeyle "true" diyordu. Build işleme sırasında reddedildi.
Ders: SDK'nın manifesti uygulamanın manifestini kapsamıyor. Yapılandırmanda takip bildiriyorsan alan adlarını da bildirirsin.
Bir Expo uygulamasında ITMS-91064'ü düzeltmek
Expo'da uygulamanın manifesti yapılandırmada, ios.privacyManifests altında ayarlanıyor. Mantığı Expo'nun gizlilik belgesinde, anahtar da yapılandırma referansında var.
- SDK'nın takip alan adlarını bul. Listeyi, build'inin içerdiği sürümün manifestinden kopyala, internetteki son sürümden değil: ikisi farklı olabilir. Kendin uydurma.
- Bunları yapılandırmana ekle. Aşağıdaki iki alan adı, değiştirmen gereken örnekler:
{
"expo": {
"ios": {
"privacyManifests": {
"NSPrivacyTracking": true,
"NSPrivacyTrackingDomains": [
"example-tracking-domain.com",
"another-tracking-domain.com"
]
}
}
}
}
-
Parayla build almadan önce üretilen dosyayı kontrol et, eğer
iosklasörün Expo tarafından üretiliyor ve git tarafından yok sayılıyorsa.npx expo prebuild -p iosçalıştır, sonraiosklasöründe oluşturulanPrivacyInfo.xcprivacydosyasını aç. İçindetruedeğerindeNSPrivacyTrackingve alan adlarının tam listesi olmalı. -
Yeniden build al ve tekrar gönder. Manifest binary'nin bir parçası: uzaktan güncelleme onu değiştirmez.
-
adıma dikkat: bu komut
iosklasörünü silip yeniden oluşturabilir. İçinde elle değişiklik yaptıysan projende çalıştırma. Bir kopya üzerinde çalış.
Uygulaman hiç takip yapmıyorsa yol daha kısa: NSPrivacyTracking değerini false yap ve listeyi kaldır.
Bu alan adları kullanıcıların için neyi değiştiriyor
Bu alan adlarını bildirmek bir formalite değil. Apple'ın belgelerine göre kullanıcı App Tracking Transparency penceresinde takibi kabul etmediyse bu alan adlarına giden istekler başarısız olur. Beklenen davranış bu: takip yalnızca kişi evet dediyse gerçekleşir.
App Store sayfan da aynı şeyi söylemeli. Manifestin takip bildiriyorsa sayfandaki gizlilik beyanları ve gizlilik politikan da bunu belirtmeli. Yoksa ardından 5.1.1 ya da 5.1.2 guideline'ları kapsamında bir reviewer reddi riskin olur: ayrıntılar bir uygulamanın gizlilik politikası yazısında.
Build'ini sürprizsiz göndermek
ITMS hataları nasıl okunacağını bilince hızlı düzelir. Sonra gelen retler daha fazla geri çekilip bakmayı gerektirir: izlenecek yol Apple tarafından reddedilen uygulama sayfasında, en sık nedenler de Apple bir uygulamayı neden reddeder yazısında.
Göndermeden önce dosyanı kontrol etmek için Apple Review Kit, kontrol listemi ve projeni gözden geçiren Claude Code skill'lerini bir araya getiriyor. Gönderimin takılıyorsa ve bir insan gözü istiyorsan benimle bir saatlik görüşme ayarla: projeni görüntülü görüşmede, senin ekranında birlikte ele alırız. İlk yayınına hazırlanıyorsan da ücretsiz teşhisini yap: adımları sıraya koyar ve sana Apple retlerine karşı kontrol listemi gönderir.
Sık sorulan sorular
ITMS-91064 bir App Review reddi mi?
İnsan bir reviewer anlamında değil. Build gönderildiğinde, incelemeye alınmadan önce yapılan otomatik bir kontrol. Build eleniyor: gizlilik manifestini düzeltip yeni bir build göndermen gerekiyor.
NSPrivacyTrackingDomains içine ne yazmalıyım?
Uygulamanın ya da SDK'larının takip için bağlandığı alan adlarını. SDK'nın, build'inin içerdiği sürümün manifestinde listelediklerini kopyala. NSPrivacyTracking değeri true iken boş bir liste, Apple'ın reddettiği kombinasyonlardan biri.
SDK'mın manifesti yetmiyor mu?
Hayır. TradaZen'de SDK'nın manifesti eksiksizdi ve build yine de reddedildi: uygulamanın manifesti hiç alan adı olmadan takip bildiriyordu. Uygulamanın yapılandırması takip bildiriyorsa alan adlarını da listelemeli.
Uygulamam takip yapmıyor: ne yapmalıyım?
Yapılandırmanda NSPrivacyTracking değerini false yap ve alan adı listesini kaldır. Sonra App Store sayfanın ve gizlilik politikanın da aynı şeyi söylediğini kontrol et.
ITMS-91064 yeniden build almadan düzeltilebilir mi?
Hayır. Gizlilik manifesti Apple'a gönderilen binary'nin bir parçası. Yapılandırmayı düzeltmen, yeniden build alman ve tekrar göndermen gerekiyor.