iOS15發(fā)版后,最近很多很多開發(fā)者提交審核都碰到了
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.
一開始我很疑惑,明明我調(diào)用了requestTrackingAuthorizationWithCompletionHandler方法,而且確實(shí)測試也彈框了,怎么給我拒了,所以就在做了解釋加錄屏,然后就過審核.
第二次提交又是一樣的問題,只能解釋加錄屏,然后又過了.
第三次提交又打回來一樣的問題,每次都這樣會很影響我的發(fā)包效率.所以去看了下文檔,發(fā)現(xiàn)以下內(nèi)容:


也就是說:
問題1. requestTrackingAuthorizationWithCompletionHandler方法必須在active狀態(tài)下調(diào)用
問題2.調(diào)用request方法的時(shí)候不能有其他的系統(tǒng)彈框
對于問題1,我調(diào)用requestTrackingAuthorizationWithCompletionHandler的時(shí)候APP肯定已經(jīng)是處于活躍狀態(tài)了,所以沒必要做任何代碼修改,也不需要和網(wǎng)上有些人說的要在applicationDidBecomeActive方法中執(zhí)行requestTrackingAuthorizationWithCompletionHandler,所以這個(gè)我不需要管
對于問題2,我確實(shí)在執(zhí)行requestTrackingAuthorizationWithCompletionHandler之前調(diào)用了友盟推送的初始化,所以導(dǎo)致推送彈框和ATT彈框同時(shí)調(diào)用了,
也就是之前代碼是這樣的
//友盟推送初始化代碼
[ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) {
}];
但是在我這邊測試,雖然一塊調(diào)用,但是都可以正常彈出來,難道是蘋果審核人員的設(shè)備與我們的不一樣,那邊只能看到推送彈框,看不到ATT彈框?
所以我就改了一行代碼:變成如下
[ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) {
//友盟推送初始化代碼 }];
這樣的話就變成先彈出ATT彈框,用戶點(diǎn)擊允許或不允許后,再彈出推送彈框
重新提交包后就過了,OK,解決.后面又提了很多次包,再沒因?yàn)檫@個(gè)原因被拒過
本人github地址:https://github.com/tangtiancheng/DouYinComment
辛辛苦苦寫的,有需要可以去看看