ATTrackingManager.trackingAuthorizationStatus always returns .denied

I'm testing my implementation of the new App Tracking Transparency framework and am running into an issue: requestTrackingAuthorization() never shows the authorization prompt, and ATTrackingManager.trackingAuthorizationStatus always returns .denied.

I've verified that the following settings are enabled:
  • Privacy -> Tracking -> Allow Apps to Request to Track

  • Privacy -> Apple Advertising -> Personalized Ads (not sure this is even related)

I've deleted and reinstalled the app and restarted my device, but to no avail.

Any ideas as to what's going on here? Notably, I do see the prompt when running on the simulator, just not when running on actual hardware.

Versions of stuff
iOS: 14.3 (18C66)
Xcode: 12.3 (12C33)

Accepted Reply

Apple released 14.5.1 and According to Apple, iOS 14.5.1 fixes a bug that prevented some users from seeing App Tracking Transparency prompts:

This update fixes an issue with App Tracking Transparency where some users who previously disabled Allow Apps to Request to Track in Settings may not receive prompts from apps after re-enabling it. This update also provides important security updates and is recommended for all users.

Updated OS, now I can see ATT dialog.



Replies

I'm getting the exact same behavior. I'll post here if I figure it out.
I have the same issue. Problem is on the iPhone XR with iOS 14.3 (18C66), but on the iPad with iPadOS 14.3 (18C66) everything works ok.
Reset location and privacy from settings does not resolved issue.
On the simulator this seems to be the intended behavior.

https://developer.apple.com/documentation/adsupport/asidentifiermanager/1614151-advertisingidentifier
Has anyone found a solution?i

I'm having the same issue on iOS 14.3 / Xcode 12.3. Note that it works fine on Simulator
  • Yes it works on simulator but on real device it doesn't show even i had called it in didbecomeactive

Add a Comment
Getting exactly the same behaviour, tried the same settings on an iPhone X and iPhone 12 Pro Max both running on 14.4 but neither gets anything but denied.
I have the exact same problem.
Any solutions for this? It works for my iphone device running iOS 14.3 but NOT iOS 14.4
Having the exact problems. Worked fine last week with physical device and now only pretty much working on simulator.
Real device returning denied in all cases.
I finally find out the pattern! I tested with an iPhone operating at iOS 14.4.
In iOS 14.4, the ad tracking authorization dialog is only shown for the first time it is installed/requested. Even you uninstall and reinstall the app, iOS would not show the dialog again and return the previous value chosen by the user, i.e. "authorized" or "denied".

You can test it by changing the bundle id to any other value. The authorization dialog can then be shown again!

Add a Comment
I have the same ploblem at iOS14.5 (18E5154f)

Xcode: 12.3(12C33)
We are experiencing similar issues on our tests. This does seems like an iOS bug.

Couple important things:
  • This issue is happening only on some of our devices.

  • Reinstalling the app does not resolve the issue.

  • Those devices that are working well we can reject ATT request and later reinstall the app without any issues and get the ATT prompt again.

  • Global Apple Privacy flag ON/OFF doesn't resolve the issue.

We have three test devices in our company that exhibit the same behavior, but the vast majority of our test devices do not show this problem. The apps in question always report that the ATT status is Denied. The apple settings are set to allow tracking globally just like you.

Some are guessing that this could be caused by a parental control setup to block tracking or an enterprise remote configuration setup that is blocking tracking but we haven't been able to verify that case yet. We were able to simulate the parental control situation, but in that case, ATT status is restricted and not denied.

Our testers, using those devices, have even tried doing a factory reset on the device and it still always started out with ATT denied.


Just updated to iOS 14.5 (18E199) + Xcode 12.5 (12E262), and I'm still having the same exact issue. Incredibly frustrating, as our next release will be required to integrate this framework, and it's still not working as expected.
@gilby, I was going to say that.
I can't believe they rolled out a buggy feature to production. My phone doesn't show ATT dialog after a fresh 14.5 update...
@gilby, @cihadturhan, all, I have 2 devices, one device shows the ATT dialog correctly, the other does not. My app was rejected from AppStore review, because they do not see the ATT dialog.