@davidebalistreri nice one, thanks for sharing.
In the past couple days I also opened a ticket on the Feeback Assistant tool and as of today the bug has been recognized with, I quote, a potential fix identified for a future OS update.
Post
Replies
Boosts
Views
Activity
Hi everyone, I'm writing from Italy and I have noticed the same issue. In my country the DMA is enforced, I don't know if this bug may be related to the specific implementations that have been made to comply to the DMA.
Anyway, I see the same behaviour described by @dgonzalezballester. I experimented with this bug a bit and discovered the following:
The same app, downloaded from the App Store, compiled with the same SDK exhibits the bug on a physical device with iOS 17.4. It behaves correctly when running my old iPhone 8 with iOS 16.7.4
We have code in the callback of ATT that is ran depending on the value of the status parameter being denied or accepted. I tried working around that by checking the value of ATTrackingManager.trackingAuthorizationStatus to no avail, because the callback doesn't get called again when the user actually makes the choice
To demonstrate the point, I tried running a while loop in a background thread inside the callback that stops when the value of ATTrackingManager.trackingAuthorizationStatus changes from .notDetermined. In the body of the while I ran the code depending on ATTrackingManager.trackingAuthorizationStatus and not the status parameter passed in the callback. This actually worked, but is a very dirty workaround that I'm not willing to put it in a build production.