简单解决苹果审核unable to locate the App Tracking Transparencypermission request when reviewed on iOS 15的问题

iOS15发版后,最近很多很多开发者提交审核都碰到了

Guideline 2.1 - Information Needed
We’re looking forward to completing our review, but we need more information to continue. Your app uses the AppTrackingTransparency framework, but we are unable to locate the App Tracking Transparency permission request when reviewed on iOS 15.0.1.

一开始我很疑惑,明明我调用了requestTrackingAuthorizationWithCompletionHandler方法,而且确实测试也弹框了,怎么给我拒了,所以就在做了解释加录屏,然后就过审核.
第二次提交又是一样的问题,只能解释加录屏,然后又过了.
第三次提交又打回来一样的问题,每次都这样会很影响我的发包效率.所以去看了下文档,发现以下内容:
截屏2021-10-14 上午11.53.35.png
截屏2021-10-14 上午11.54.08.png

也就是说:
问题1. requestTrackingAuthorizationWithCompletionHandler方法必须在active状态下调用
问题2.调用request方法的时候不能有其他的系统弹框

对于问题1,我调用requestTrackingAuthorizationWithCompletionHandler的时候APP肯定已经是处于活跃状态了,所以没必要做任何代码修改,也不需要和网上有些人说的要在applicationDidBecomeActive方法中执行requestTrackingAuthorizationWithCompletionHandler,所以这个我不需要管

对于问题2,我确实在执行requestTrackingAuthorizationWithCompletionHandler之前调用了友盟推送的初始化,所以导致推送弹框和ATT弹框同时调用了,
也就是之前代码是这样的

//友盟推送初始化代码
[ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) {
                           }];

但是在我这边测试,虽然一块调用,但是都可以正常弹出来,难道是苹果审核人员的设备与我们的不一样,那边只能看到推送弹框,看不到ATT弹框?
所以我就改了一行代码:变成如下

[ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) {
                //友盟推送初始化代码            }];

这样的话就变成先弹出ATT弹框,用户点击允许或不允许后,再弹出推送弹框

重新提交包后就过了,OK,解决.后面又提了很多次包,再没因为这个原因被拒过

本人github地址:https://github.com/tangtiancheng/DouYinComment
辛辛苦苦写的,有需要可以去看看

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值