# ITMS-91064: “Invalid tracking information” hatası çözümü

> ITMS-91064, gizlilik manifestindeki NSPrivacyTracking ile NSPrivacyTrackingDomains çeliştiğinde gelir. İkisini uyumlu hale getir, sonra yeni build al.

Orijinal sayfa: [ITMS-91064: “Invalid tracking information” hatası çözümü](https://devoria.fr/tr/blog/itms-91064-invalid-tracking-information-cozumu)
Yazar: [Mehdi Azizi](https://devoria.fr/tr/mehdi-azizi)
Yayın: 2026-10-16
İçeriğin son gözden geçirilmesi: 2026-10-16


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](https://developer.apple.com/documentation/technotes/tn3181-debugging-invalid-privacy-manifest) hakkındaki teknik notunda reddedilen üç kombinasyonu anlatıyor:

- `NSPrivacyTracking` true ve alan adı listesi boş. Listeyi doldurman gerekiyor. Benim durumum buydu.
- `NSPrivacyTracking` true ama bir alan adı hatalı yazılmış. Alan adı yol ve sondaki eğik çizgi olmadan yazılır.
- `NSPrivacyTracking` false iken alan adları listelenmiş. Listeyi kaldırman gerekiyor.

Temel kural [gizlilik manifestleri](https://developer.apple.com/documentation/bundleresources/privacy-manifest-files) 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](https://docs.expo.dev/guides/apple-privacy/), anahtar da [yapılandırma referansında](https://docs.expo.dev/versions/latest/config/app/) var.

1. **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.
2. **Bunları yapılandırmana ekle.** Aşağıdaki iki alan adı, değiştirmen gereken örnekler:

```json
{
  "expo": {
    "ios": {
      "privacyManifests": {
        "NSPrivacyTracking": true,
        "NSPrivacyTrackingDomains": [
          "example-tracking-domain.com",
          "another-tracking-domain.com"
        ]
      }
    }
  }
}
```

3. **Parayla build almadan önce üretilen dosyayı kontrol et**, eğer `ios` klasörün Expo tarafından üretiliyor ve git tarafından yok sayılıyorsa. `npx expo prebuild -p ios` çalıştır, sonra `ios` klasöründe oluşturulan `PrivacyInfo.xcprivacy` dosyasını aç. İçinde `true` değerinde `NSPrivacyTracking` ve alan adlarının tam listesi olmalı.
4. **Yeniden build al ve tekrar gönder.** Manifest binary'nin bir parçası: uzaktan güncelleme onu değiştirmez.

5. adıma dikkat: bu komut `ios` klasö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ı](https://devoria.fr/tr/blog/uygulama-gizlilik-politikasi-ios-rehberi) 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](https://devoria.fr/tr/expertise/apple-tarafindan-reddedilen-uygulama) sayfasında, en sık nedenler de [Apple bir uygulamayı neden reddeder](https://devoria.fr/tr/blog/apple-uygulama-reddi-neden-reddedilir) yazısında.

Göndermeden önce dosyanı kontrol etmek için [Apple Review Kit](https://devoria.fr/tr/kits/review-apple), 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](https://devoria.fr/tr/coaching): 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](https://devoria.fr/tr/diagnostic): 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.


## Projen

[Apple Review Kit](https://devoria.fr/tr/kits/review-apple): Kullandığım App Store inceleme kontrol listesi, düzelttiğim Apple retleri, inceleyici notları ve uygulamanı inceleyen iki Claude Code skill'i. 29 €.

[iOS Kit](https://devoria.fr/tr/kits/ios): Claude Code ile iPhone uygulamanı yap: uygulamalarımın başlangıç kodu, işini kontrol eden skill'ler, Apple Review, Screenshots ve ASO kitleri. 129,99 €.
