天天看点

Guideline 2.1 - Information Needed we noticed that your app uses the AppTrackingTransparency framewo

Guideline 2.1 - Information Needed


We're looking forward to completing the review of your app, but we need more information to continue. Specifically, we noticed that your app uses the AppTrackingTransparency framework, but we haven't been able to locate the relevant AppTrackingTransparency permission requests.

While it is not required to implement AppTrackingTransparency at this time, we check to make sure the implementation is compliant with our guidelines when we detect the framework in an app.

Next Steps

If your app integrates AppTrackingTransparency, please indicate where in your app we can find the AppTrackingTransparency permission request.

If your app does not integrate AppTrackingTransparency, please indicate this information in the Review Notes section for each version of your app in App Store Connect when submitting for review.
           

当时收到这个被拒绝的理由,我也是无语了。我们检查了我们的工程代码看了info.plist中也配置相关信息,而且在AppDelegate中也写了相关代码,测试的时候也都弹出来哇,所以没有理由不弹框。被拒绝的理由说的意思大概就是:我们看到你代码中使用att框架,但是没有看到你弹框,具体不知道你在什么地方用了这个权限,所以两个解决方法:1:如果用了att框架,请指出在哪用了,2:加上请求,让我们看到。

我们最后分析:用户可能在设置中全局关闭了,下班这种情况是不会弹出来的,所以我们需要在用户全局关闭了设置中的追踪功能的时候,我们模拟系统弹框提示用户

Guideline 2.1 - Information Needed we noticed that your app uses the AppTrackingTransparency framewo
Guideline 2.1 - Information Needed we noticed that your app uses the AppTrackingTransparency framewo
// att
    if (@available(iOS 14, *)) {
        //iOS 14
        [ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) {
            //to do something,like preloading
            if (status == ATTrackingManagerAuthorizationStatusDenied || status == ATTrackingManagerAuthorizationStatusNotDetermined) {
                //弹框提醒
                [self showAttSetTips];
                }
            }
        }];
    }


- (void)showAttSetTips{
    
    [[NSUserDefaults standardUserDefaults] setValue:@"NO" forKey:@"attseting"];
    
    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
        UIAlertController *alertVc = [UIAlertController alertControllerWithTitle:@"允许“表情包大师”跟踪您在其他公司的App和网站上的活动吗?" message:@"该标识符将用于产品性能和错误日志收集、个性化广告投放。" preferredStyle:UIAlertControllerStyleAlert];
        UIAlertAction *cancelBtn = [UIAlertAction actionWithTitle:@"要求APP不跟踪" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {        NSLog(@"取消");
        }];    //添加确定
        UIAlertAction *sureBtn = [UIAlertAction actionWithTitle:@"允许" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull   action) {
            // 允许跟踪
            [[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString] options:@{} completionHandler:^(BOOL success) {
                
            }];
            
        }];
        [alertVc addAction:cancelBtn];
        [alertVc addAction:sureBtn];
        [[UIViewController currentViewController] presentViewController:alertVc animated:YES completion:nil];
    });
    
}