ITMS-90683: Missing Purpose String in Info.plist, but NSUserTrackingUsageDescription is set in InfoPlist.strings

Hello, when uploading a build to AppStoreConnect we got this issue:

ITMS-90683: Missing Purpose String in Info.plist - Your app‘s code references one or more APIs that access sensitive user data. The app‘s Info.plist file should contain a NSUserTrackingUsageDescription key with a user-facing purpose string explaining clearly and completely why your app needs the data. If you're using external libraries or SDKs, they may reference APIs that require a purpose string. While your app might not use these APIs, a purpose string is still required. For details, visit: https://developer.apple.com/documentation/uikit/protecting_the_user_s_privacy/requesting_access_to_protected_resources

Its correct that we don't have NSUserTrackingUsageDescription but it is set in InfoPlist.strings and our QA verified it is working for all supported languages.

Do we need to add NSUserTrackingUsageDescription to the plist, but then its not localised? Or is there some ghost language that is not being set correctly (i.e. en-US, en-GB, etc), but is not reported in the warning?

We asked for clarification but were pointed to this forum. Why are we getting this warning and what is the correct way to fix it?

Thanks in advance.

Could it be a third-party SDK using it?

Generally, purpose strings are required in your Info.plist file as a fallback for languages that your app might not support. This can be the same as your development language (ex: en) and the key should no longer be required in your en.lproj/InfoPlist.strings.

ITMS-90683: Missing Purpose String in Info.plist, but NSUserTrackingUsageDescription is set in InfoPlist.strings
 
 
Q