Apple reviewer has just rejected my app since ATT request doesn't appear: "We are unable to locate the App Tracking Transparency permission request when reviewed on iOS 15.0.1."
My code is as shown below:
if #available(iOS 14, *) {
ATTrackingManager.requestTrackingAuthorization { (status) in
//print("IDFA STATUS: \(status.rawValue)")
FBAdSettings.setAdvertiserTrackingEnabled(true)
}
}
I implemented this code both in AppDelegate didFinishLaunchingWithOptions
and viewDidLoad
. ATT permission request appear on iOS 14, but not in iOS 15.
CodePudding user response:
An Apple person suggests that you request it through applicationDidBecomeActive(_:)
in AppDelegate
. That's how I fixed the issue for iOS.
import UIKit
import AppTrackingTransparency
class AppDelegate: UIResponder, UIApplicationDelegate, UNUserNotificationCenterDelegate, MessagingDelegate {
func applicationDidBecomeActive(_ application: UIApplication) {
if #available(iOS 15.0, *) {
ATTrackingManager.requestTrackingAuthorization(completionHandler: { status in
})
}
}
}
CodePudding user response:
Damn it I fixed it:( This is all about the iOS alert system. I was requesting App Tracking Transparency after a notification request was asked. Once the notification request alert closed, the ATT alert needed to have appeared. It was working fine on iOS 14, but on iOS 15 to display an alert right after another one, it is needed to have a delay period between each other.