ITMS-91064: איך לתקן Invalid tracking information
מאת Mehdi Azizi
פורסם ב-, 5 דק׳
ITMS-91064 אומרת ש-NSPrivacyTracking ו-NSPrivacyTrackingDomains במניפסט הפרטיות סותרות זו את זו. מתאימים ביניהן ובונים build חדש.
ITMS-91064 היא דחייה אוטומטית של Apple, שמגיעה במייל אחרי שהעלית את ה-build. המשמעות: שני מפתחות המעקב במניפסט הפרטיות שלך סותרים זה את זה. התיקון: ליישר קו בין NSPrivacyTracking ל-NSPrivacyTrackingDomains, ואז לבנות build חדש.
חטפתי אותה ב-TradaZen, האפליקציה שלי לתרגול מסחר, אחרי שהוספתי כלי למדידת פרסום. הנה הסיבה והתיקון.
מה המשמעות של שגיאה ITMS-91064?
הכותרת של ההודעה היא "ITMS-91064: Invalid tracking information". היא מתייחסת לקובץ PrivacyInfo.xcprivacy, מניפסט הפרטיות שכל אפליקציה וכל SDK יכולים לכלול. בקובץ הזה יש, בין השאר, שני מפתחות שקשורים למעקב, במובן של App Tracking Transparency:
NSPrivacyTracking: true אם האפליקציה או ה-SDK משתמשים בנתונים למעקב.NSPrivacyTrackingDomains: רשימת הדומיינים שפונים אליהם לצורך המעקב הזה.
Apple מתארת את שלושת הצירופים שנדחים בהערה הטכנית שלה על מניפסטים לא תקינים:
NSPrivacyTrackingהוא true ורשימת הדומיינים ריקה. צריך למלא את הרשימה. זה היה המקרה שלי.NSPrivacyTrackingהוא true אבל אחד הדומיינים כתוב לא נכון. דומיין נכתב בלי נתיב ובלי לוכסן בסוף.- יש דומיינים ברשימה אבל
NSPrivacyTrackingהוא false. צריך להסיר את הרשימה.
הכלל הבסיסי מופיע בתיעוד על מניפסטים של פרטיות: כש-NSPrivacyTracking הוא true, חייבים לספק את רשימת הדומיינים.
המייל של Apple מציין את השם והנתיב של הקובץ הבעייתי. תקרא את הנתיב: הוא אומר לך אם הבעיה במניפסט של האפליקציה שלך או במניפסט של SDK שמוטמע בה.
כמו בשאר שגיאות ה-ITMS, זו לא דחייה של reviewer. הבדיקה אוטומטית, בזמן העלאת ה-build, וה-build נפסל.
למה זה קורה: מניפסט לכל target
זו המלכודת. SDK מגיע הרבה פעמים עם מניפסט משלו, כולל הדומיינים שלו. אפשר לחשוב שזה מספיק. אבל לאפליקציה שלך יש מניפסט משלה, ואצלי Apple דחתה דווקא את המניפסט של האפליקציה.
המקרה שלי, 21 ביולי 2026. כשחיברתי כלי למדידת פרסום ל-TradaZen, הגדרתי NSPrivacyTracking: true בקונפיגורציה של האפליקציה, וזה נכון. אבל לא הוספתי NSPrivacyTrackingDomains. המניפסט של ה-SDK היה מלא. המניפסט של האפליקציה, ש-Expo יצר מהקונפיגורציה שלי, אמר "true" עם רשימה ריקה. ה-build נדחה בשלב העיבוד.
הלקח: המניפסט של ה-SDK לא מכסה את המניפסט של האפליקציה שלך. אם אתה מצהיר על מעקב בקונפיגורציה, אתה מצהיר גם על הדומיינים.
תיקון ITMS-91064 באפליקציית Expo
ב-Expo, המניפסט של האפליקציה מוגדר בקונפיגורציה, תחת ios.privacyManifests. העיקרון מוסבר בתיעוד של Expo על פרטיות, והמפתח מופיע במדריך הקונפיגורציה.
- תמצא את דומייני המעקב של ה-SDK. תעתיק את הרשימה מהמניפסט של הגרסה שה-build שלך כולל, לא של הגרסה האחרונה שפורסמה: הן יכולות להיות שונות. אל תמציא אותם.
- תוסיף אותם לקונפיגורציה. שני הדומיינים למטה הם דוגמאות שצריך להחליף:
{
"expo": {
"ios": {
"privacyManifests": {
"NSPrivacyTracking": true,
"NSPrivacyTrackingDomains": [
"example-tracking-domain.com",
"another-tracking-domain.com"
]
}
}
}
}
- תבדוק את הקובץ שנוצר לפני שאתה משלם על build, אם תיקיית
iosשלך נוצרת על ידי Expo ומוחרגת ב-git. תריץnpx expo prebuild -p ios, ואז תפתח את הקובץPrivacyInfo.xcprivacyשנוצר בתיקייתios. הוא צריך לכלולNSPrivacyTrackingעםtrueואת רשימת הדומיינים המלאה. - תבנה build חדש ותשלח אותו שוב. המניפסט הוא חלק מהבינארי: עדכון מרחוק לא משנה אותו.
שים לב לשלב 3: הפקודה הזו יכולה למחוק וליצור מחדש את תיקיית ios. אם עשית בה שינויים ידניים, אל תריץ אותה על הפרויקט שלך. תעבוד על עותק.
אם האפליקציה שלך לא עושה שום מעקב, הדרך קצרה יותר: תשנה את NSPrivacyTracking ל-false ותסיר את הרשימה.
מה הדומיינים האלה משנים למשתמשים שלך
ההצהרה על הדומיינים האלה היא לא סתם טקס. לפי התיעוד של Apple, אם המשתמש לא אישר מעקב בחלון של App Tracking Transparency, הבקשות לדומיינים האלה נכשלות. זו ההתנהגות הצפויה: המעקב יוצא רק אם האדם אמר כן.
דף ה-App Store שלך צריך לספר את אותו הסיפור. אם המניפסט מצהיר על מעקב, גם הצהרות הפרטיות בדף שלך וגם מדיניות הפרטיות צריכות לציין את זה. אחרת אתה מסתכן אחר כך בדחייה של reviewer לפי guidelines 5.1.1 או 5.1.2: הפרטים במדיניות פרטיות לאפליקציה.
לשלוח את ה-build בלי הפתעות
שגיאות ITMS מתקנים מהר כשיודעים לקרוא אותן. הדחיות שמגיעות אחר כך דורשות יותר פרספקטיבה: התהליך מוסבר בדף אפליקציה שנדחתה על ידי Apple, והסיבות הנפוצות ביותר בלמה Apple דוחה אפליקציה.
כדי לבדוק את הפרויקט לפני השליחה, ה-Apple Review Kit מרכז את הצ'קליסט שלי ו-skills של Claude Code שעוברים על הפרויקט שלך. אם השליחה נתקעת ואתה רוצה עין אנושית, תקבע איתי שעה: נעבור על הפרויקט שלך בשיחת וידאו, על המסך שלך. ואם אתה מתכונן להשקה הראשונה, תעשה את האבחון החינמי: הוא מסדר לך את השלבים לפי הסדר ושולח לך את הצ'קליסט שלי נגד דחיות של Apple.
שאלות נפוצות
האם ITMS-91064 היא דחייה של App Review?
לא במובן של reviewer אנושי. זו בדיקה אוטומטית שנעשית על ה-build כשהוא מועלה, לפני שהוא נכנס לבדיקה. ה-build נפסל: צריך לתקן את מניפסט הפרטיות ולשלוח build חדש.
מה צריך לשים ב-NSPrivacyTrackingDomains?
את הדומיינים שהאפליקציה או ה-SDKs שלך פונים אליהם לצורך מעקב. תעתיק את אלה שה-SDK מפרט במניפסט של הגרסה שה-build שלך כולל. רשימה ריקה עם NSPrivacyTracking שמוגדר ל-true היא אחד הצירופים ש-Apple דוחה.
המניפסט של ה-SDK לא מספיק?
לא. ב-TradaZen המניפסט של ה-SDK היה מלא וה-build בכל זאת נדחה: המניפסט של האפליקציה הצהיר על מעקב בלי אף דומיין. אם הקונפיגורציה של האפליקציה מצהירה על מעקב, היא חייבת לפרט גם את הדומיינים.
האפליקציה שלי לא עושה מעקב: מה עושים?
תשנה את NSPrivacyTracking ל-false בקונפיגורציה ותסיר את רשימת הדומיינים. אחר כך תוודא שדף ה-App Store ומדיניות הפרטיות שלך אומרים בדיוק את אותו הדבר.
אפשר לתקן ITMS-91064 בלי לבנות build חדש?
לא. מניפסט הפרטיות הוא חלק מהבינארי שנשלח ל-Apple. צריך לתקן את הקונפיגורציה, לבנות build חדש ולשלוח אותו שוב.