App review rejected: App Tracking Transparency permission request when reviewed on iOS 15.0

Reason for rejection:

Guideline 2.1 - Information Needed

We’re still 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.


Since you indicated in App Store Connect that you collect data in
order to track the user, we need to confirm that App Tracking
Transparency has been correctly implemented.


Next Steps

Please explain where we can find the App Tracking Transparency
permission request in your app. The request should appear before any
data is collected that could be used to track the user.

If your app does not track users, please update your app privacy
information in App Store Connect. You must have the Account Holder or
Admin role to update app privacy information.

If you’ve implemented App Tracking Transparency but the permission
request is not appearing on devices running the latest OS, please
review the available documentation and confirm App Tracking
Transparency has been correctly implemented.

Resources

  • Tracking is linking data collected from your app with third-party data for advertising purposes, or sharing the collected data with a
    data broker. Learn more about tracking.
  • See Frequently Asked Questions about the new requirements for apps that track users.
  • Review developer documentation for App Tracking Transparency.

Meaning: Your app uses the AppTrackingTransparency framework, but when viewed on iOS 15.0, we cannot find the App Tracking Transparency permission request.

But I've adapted to it

if (@available(iOS 14, *)) {
    
    
        [ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) {
    
    
            
        }];
    } else {
    
    
        // Fallback on earlier versions
    }

The reason for rejection is: it did not pop up on the iOS15 system.
After running it on the simulator, it turned out that iOS15 did not pop up a prompt.

Solution:
Previously, I put the att code in

//当程序载入后执行
-(void)applicationDidFinishLaunching:(UIApplication *)application{
    
    
    NSLog(@"当程序载入后执行");
}

Now put it instead

//APP已经进入前台
- (void)applicationDidBecomeActive:(UIApplication *)application{
    
    
    NSLog(@"应用程序已进入前台,处于活动状态");
    if (@available(iOS 14, *)) {
    
    
        [ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) {
    
    
            
        }];
    } else {
    
    
        // Fallback on earlier versions
    }
}

The pop-up box indeed appeared! The problem waits until it is solved.

Analysis of the cause of the problem:
It may be that Apple has modified the calling timing. If it is executed too early, it may not have been initialized, causing the call to be invalid.

Guess you like

Origin blog.csdn.net/biyuhuaping/article/details/120485920