App Tracking Transparency - returning review

Hello,

Apple Review guys keep canceling reviews of my apps because of App Tracking Transparency. The point is that, this feature was implemented in previous version so it works fine (I also sent them screenshots with the newest version from Xcode simulator) - code is set in AppDelegate file.

What can I do about that? Are there new requirements about that since iOS 15?

Answered by kyloxrobelek in 689764022

When you got two permission request - in my case Push Notifications and App Tracking Transparency - you need to call push permission first and then in completionHandler call second permission with 1 sec delay:

if #available(iOS 14, *) {

            UNUserNotificationCenter.current().delegate = self



              let authOptions: UNAuthorizationOptions = [.alert, .badge, .sound]

              UNUserNotificationCenter.current().requestAuthorization(

                options: authOptions,

                completionHandler: { _, _ in

                    DispatchQueue.main.asyncAfter(deadline: .now() + 1) {

                        ATTrackingManager.requestTrackingAuthorization(completionHandler: { status in

                            //you got permission to track

                        })

                    }

                }

              )

        }
Accepted Answer

When you got two permission request - in my case Push Notifications and App Tracking Transparency - you need to call push permission first and then in completionHandler call second permission with 1 sec delay:

if #available(iOS 14, *) {

            UNUserNotificationCenter.current().delegate = self



              let authOptions: UNAuthorizationOptions = [.alert, .badge, .sound]

              UNUserNotificationCenter.current().requestAuthorization(

                options: authOptions,

                completionHandler: { _, _ in

                    DispatchQueue.main.asyncAfter(deadline: .now() + 1) {

                        ATTrackingManager.requestTrackingAuthorization(completionHandler: { status in

                            //you got permission to track

                        })

                    }

                }

              )

        }

I resolved this problem, adding permission request in viewDidAppear of my first ViewController. In my case I have two permission request, App Tracking Transparency and Location. Firstly I call App Tracking Transparency permission and , in its completionHandler I call the Location permission. I my case I didn't need put any delay. Just put in viewDidAppear method.

I resolved this problem, adding permission request in viewDidAppear of my first ViewController. In my case I have two permission request, App Tracking Transparency and Location. Firstly I call App Tracking Transparency permission and , in its completionHandler I call the Location permission. I my case I didn't need put any delay. Just put in viewDidAppear method. 

App Tracking Transparency - returning review
 
 
Q