{
  "id": 1213653,
  "title": "Why your App Tracking Transparency prompt doesn't show up (and how it got my app rejected)",
  "url": "https://urgent.news/2026/08/16/why-your-app-tracking-transparency-prompt-doesnt-show-up-and-how-it",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-08-16T06:12:52.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/ninomaedev/why-your-app-tracking-transparency-prompt-doesnt-show-up-and-how-it-got-my-app-rejected-oob"
  },
  "original_language": "en",
  "account": "iOS rejected my iOS app under Guideline 2.1 due to a lack of visibility of the App Tracking Transparency permission request during testing. The prompt worked on my iPhone but not on the reviewer's device. The problem stemmed from two properties of the ATT API: iOS only presents the ATT prompt when the app is active, and iOS doesn't provide a clear indication when it declines to present the prompt, returning \"notDeterminated\" instead of an error or a specific signal. This combination of factors led to a bug that was invisible on fast devices but reproducible on slow ones. The issue was compounded by treating \"notDeterminated\" as a final answer, rather than retrying, which prevented the prompt from ever appearing. The solution involved waiting for the app to reach an active state before requesting permission, implementing a timeout to prevent the issue from hanging the app, and retrying when the API returned \"notDeterminated\" instead of giving up.",
  "summary": "App Review rejected my iOS app under Guideline 2.1. The note said reviewers were unable to locate the App Tracking Transparency permission request when they tested the build. The prompt worked on my iPhone. Every single launch. It just didn't work on theirs. The cause turned out to be two properties of the ATT API that are easy to miss individually and genuinely nasty in combination: together…",
  "key_points": [
    "iOS rejected app due to invisible ATT permission prompt",
    "ATT API requires app to be active to show prompt",
    "NotDeterminated return needs retrying, not as final answer"
  ],
  "editors_take": "The App Tracking Transparency API's quirks, particularly its behavior on slow devices and when returning \"notDetermined\", can lead to unexpected rejections, forcing developers to adapt their implementation strategies.",
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}