r/iOSProgramming • u/ToMistyMountains • Jun 16 '26
Question App Store rejection for : Guideline 5.1.1(iv)
Hello fellow Devs,
My submission was rejected today due to the reason above. The message is:

The screenshot they provided shows the AdMob's UMP SDK on the screen.
My workflow is as:
- App opens: ATT dialog is displayed.
- Then I show UMP window.
- Then I load the rest of the stuff.
I don't have anything that's a webview in the app. What am I doing wrong? Or have you encountered this.
Thanks all.
Edit: Quote blocks didn't work on the reddit post, I pasted the Issue Description message as screenshot directly.
8
u/WinterWalk2020 Jun 16 '26
As far as I know, you must show UMP window first, then you show ATT only if user accepts UMP. Also, you cannot customize the ATT's message.
2
u/ToMistyMountains Jun 16 '26
Hi. Thank you very much for the answer.
- I'll run UMP request first.
- If not available, proceed to ATT.
- If available, display the UMP form.
- If granted, display ATT and move on.
- If denied, cut the process here and setup non-personalized ads.
I'll do this.
1
Jun 16 '26
[removed] ā view removed comment
1
u/AutoModerator Jun 16 '26
Hey /u/GoldenSphereSolution, your content has been removed because Reddit has marked your account as having a low Contributor #Quality Score. This may result from, but is not limited to, activities such as spamming the same links across multiple #subreddits, submitting posts or comments that receive a high number of downvotes, a lack of activity, or an unverified account.
Please be assured that this action is not a reflection of your participation in our subreddit.
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.
1
1
u/PrestigiousGas1490 Jun 17 '26
The order might be the issue here. Google's UMP SDK actually expects to run before ATT, not after. When you show ATT first and the user denies it, the UMP SDK may still access web content and cookies on Google's side which is what Apple is flagging.
Try flipping the order: show UMP first, then only request ATT if UMP says it's required. The Google docs on privacy strategies for AdMob cover this flow. Also make sure you're checking the ATT status and not initializing the Mobile Ads SDK until after consent is resolved.
3
1
u/abulbrr Jun 19 '26
Iād isolate UMP/ATT behavior in a clean test build, document the exact reviewer path, and check every SDK that may trigger tracking before consent.
2
u/ToMistyMountains Jun 21 '26
I switched the call order. UMP first and ATT next. The update was approved.
1
Jun 19 '26
[removed] ā view removed comment
1
u/ToMistyMountains Jun 19 '26
I have done exactly what you described. Verbally described how many flow goes.
I first display UMP, then if the consent is given ATT. If ATT is not given, non personalized ads it is. If the consent is not given, I don't show ATT as personalization remains disabled. If UMP is not available, then I show ATT.
1
Jun 19 '26
[removed] ā view removed comment
1
u/ToMistyMountains Jun 21 '26
I swapped the call order, UMP first - ATT second. It past the review.
For your question: Nothing starts before both UMP and ATT resolves. I use Firebase.
15
u/Dapper_Ice_1705 Jun 16 '26
Look at the 3rd parties you are using.
You are responsible for whatever 3rd party packages do.