iOS publishing & NSUserTrackingUsageDescription Issues

You may have just received an email from Apple indicating that you can’t publish your app yet due to a NUserTracking issue.

You can set your Tracking Usage Description in your project settings under iOS:

You can also set this permission string during the iOS publishing process:

The cause depends on what components your project uses:

1) If your app contains AdMob, web viewer, Push Notifications, or location sensor

AdMob

AdMob can use your end user’s location to show them relevant ads. Your end users need to consent to their location being used to show them relevant ads.

Example: This identifier will be used to deliver personalized ads to you.

Push Notifications

OneSignal has the option of collecting user data. You must include this information in your Tracking Usage Description.

Example: In-app activity is tracked to deliver relevant messaging at relevant times for the user

Web Viewer

Most websites collect some kind of user data. Your end users need to consent to this data being tracked.

Example: This app accesses X website. Your data may be shared with this website to facilitate functionality.

You do not need to include a permission string if your Web Viewer only accesses a local HTML file.

Location Sensor

Your end user’s location is sensitive data. If you include a Location Sensor and are transmitting the users location to an external service for any purpose, you must tell your end user exactly why you need to track their location.

Example: This app uses your location to show you information relevant to your area.

2) If your app does not contain either a web viewer or Push Notifications

If your app does not contain a Web Viewer, Push Notifications, or a Location Sensor, then you should leave the Tracking Usage Description field blank. Do not enter a string explaining that you are not tracking anything. If there is any text in this box, Apple will think you are tracking your end users.

You do not need to include a permission string if your app contains a Web Viewer that only accesses a local HTML file.

4 Likes

Thank you. Very informative.

3 Likes

I just ran into a problem with this, got a rejection from the iOS review… Could you please check out my post about it here: [Solved] Can not publish to iOS, problem with NSUserTrackingUsageDescription which is not used - #162 by ethosworkfi

Thank you!

Hey @ethosworkfi

Presumably you entered the string during the publishing wizard, did you also include that same str4ing in your app settings?

I believe the string needs to go in both places.

Thanks for your reply.

Yeah, I entered the string first in the app settings, and then it was automatically copied and in place in the publishing wizard. :confused:

But I think Apple was looking for a prompt that would ask for the user permission to track – does this feature create such a prompt automatically?

That is the intended behavior I believe, that it would copy from 1 to the other. When did you push to Apple?

I compiled the app on Feb 1 and it was reviewed and rejected yesterday.

So, yeah, the tracking field wasn’t empty as Apple even (automatically) demanded that I update the Privacy Policy on the App Store to match the fact that I’m tracking before they allowed me to submit the app for review. Can’t do much about it now. In my desperation, I even resubmitted a new build of the app and this time left the tracking field empty (as well as erased the changes I made to the Privacy Policy) hoping it would pass. But probably won’t. This tracking thing is just so burdensome. :sweat: Any quick help would be greatly appreciated. :slightly_smiling_face:

I’m trying to docuument things now.

So:
You use: web viewer, push notifications

on the app store you declared that you are tracking user data

you included the string:
This app accesses *** website. Your data may be shared with this website to facilitate functionality. The app also delivers push notifications and tracks user activity as an analytic tool to facilitate this service.

you recieved a rejection and this issue:

Your app uses the AppTrackingTransparency framework, but we are unable to locate the App Tracking Transparency permission request when reviewed on iOS 15.3.

**Next Steps**

Please explain where we can find the App Tracking Transparency permission request in your app. The request should appear before any data is collected that could be used to track the user.

Is all that ^^^ accurate?

1 Like

Totally accurate. Thanks for summarizing things. :slightly_smiling_face:

Hi. I just talked with our team. Seems like users are having a similar issue and it was a setting on the app store side of things. can you follow these steps to include tracking information on the app store or tell me if you’ve. already done this.

If you hit the “Get Started” button and choose “yes” there’s a form to fill in so that the Data Tracking can be added to the store listing. Apple have an very helpful article that outlines the different data types

The information you submit in this for is used to populate the “App Privacy” section of your store listing:

1 Like

Thanks for this, however, this is exactly the place where I entered the data tracking after I initially tried to submit the app with a tracking field populated but the App Store didn’t accept it for review unless I declared something about tracking here – so the store made me to add something here, in this section, about tracking. I put here that I track devices and was then able to successfully submit the app for the review. It also seemed that this wasn’t the issue with the rejection I got, rather it was that they couldn’t find the user prompt for tracking anywhere within the app…

So has your app has been accepted for further review then or are you still having these issues?

We are trying to refine the dos and I want to make sure we are capturing everything. Also, we want to make sure people can get published!

So, the problem is there indeed. What I did was:

  1. Filled in the data tracking field on Thunkable, compiled the app and tried to submit it.

  2. Then I immediately got an error due to the fact that I hadn’t declared any tracking on the App Store (at the place you just pointed out) and wasn’t able to submit.

  3. Then I added data tracking to the Privacy Policy on the App Store (tracking devices), after which I was able to submit the app for the review.

  4. But then later I got the rejection (I copy-pasted here) from the review. So, they were looking for the tracking prompt within the app but couldn’t find it. Somehow the prompt wasn’t displaying within the app despite the fact that I definitely had the tracking field populated as I described when I compiled the app.

So the problem is still continuing.

Thanks for your help!

probably redundant at this point, but each time that you submitted to the app store, you also ensured there was. string present indicating what you were tracking. The presence of the string is what should trigger the prompt.

If you did this ^^^ then i’ll follow up with the eng team and talk about the issue. They are aware, we are just seeking more details.

When was the last time you pushed a copy to the store?

1 Like

Yeah, I made very sure. And, as having the field filled in also triggered the App Store to ask me to declare tracking on the Privacy Policy to match it, it’s pretty certain it was there.

So, I compiled the app and submitted it for review on Tuesday, and got the rejection from the review yesterday, on Wednesday. Today I just submitted an app for review without declaring anything / empty tracking field (when I was desperate and tried to revert back to the old ways), so I really haven’t tried out this again since yesterday.

I need to call this a day soon as I’m on European timezone, but I’ll be checking the thread for the coming hour or two still. Thanks anyway for your kind help and hope we get this sorted!

Can you share a screenshot of your app listing specifically the data and privacy section please?

Feel free to send it in a DM

1 Like

Got it, will DM you in a minute.

1 Like

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.