I'm getting the following error on every submission (Build 1 through 8), even after multiple clean rebuilds and manual verification of the raw manifest content:
ITMS-91064: Invalid tracking information - A PrivacyInfo.xcprivacy file contains invalid tracking information at the following path: "PrivacyInfo.xcprivacy" and also "PlugIns/[WidgetName].appex/PrivacyInfo.xcprivacy" NSPrivacyTracking must be true if NSPrivacyTrackingDomains isn't empty.
What I've verified locally (via plutil -p and raw cat on both the .xcarchive and the exported .ipa):
- Main app PrivacyInfo.xcprivacy: NSPrivacyTracking=false, NSPrivacyTrackingDomains=[] (empty)
- Widget PrivacyInfo.xcprivacy: same, false + empty
- No duplicate keys found in either file
- Generated an official "Privacy Report" from Xcode Organizer - no obvious conflict at the app or widget level was shown
- Updated GoogleMobileAds/UserMessagingPlatform SDKs to the latest version - issue persists
- Bundle version increments correctly with each build (confirmed via Info.plist inside the actual uploaded archive)
Is there a known caching issue on the App Store Connect validation side, or something else I might be missing? Happy to share the Privacy Report PDF and archive details if helpful.
Update: That was exactly it! Removing the NSPrivacyTrackingDomains key entirely (instead of leaving it as an empty array) from both the Main App and Widget PrivacyInfo.xcprivacy files resolved the issue. Build 10 was accepted after 8+ consecutive rejections with the same error.
Thank you so much for taking the time to help, Albert — this saved me a huge amount of troubleshooting. Marking this as the solution for anyone else who runs into the same issue.