Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Your app contains NSUserTrackingUsageDescription, indicating that you will request permission to track users

Tags:

swift

admob

I have added Google Admob framework for showing ads in app and getting the error related to User Tracking Usage in itunes connect app privacy section. iTunesConnect is not allowing to submit the app. After that i have the proper key and description in info.plist.

<key>NSUserTrackingUsageDescription</key>
<string>App would like to access IDFA for tracking purpose</string>

And also added code for requesting permission in login page and called it in viewDidLoad.

    func requestPermission() {
    if #available(iOS 14, *) {
        ATTrackingManager.requestTrackingAuthorization { status in
            switch status {
            case .authorized:
                // Tracking authorization dialog was shown
                // and we are authorized
                print("Authorized")
                
                // Now that we are authorized we can get the IDFA
                print(ASIdentifierManager.shared().advertisingIdentifier)
            case .denied:
                // Tracking authorization dialog was
                // shown and permission is denied
                print("Denied")
            case .notDetermined:
                // Tracking authorization dialog has not been shown
                print("Not Determined")
            case .restricted:
                print("Restricted")
            @unknown default:
                print("Unknown")
            }
        }
    } else {
        // Fallback on earlier versions
    }
}

But Still error is not going from iTunesConnect after uploading the new build, I'm not able to submit build. Any one has faced the same thing ? How this error will be hide>

enter image description here

like image 801
Vikas Rajput Avatar asked Dec 28 '20 14:12

Vikas Rajput


3 Answers

You only need to use the NSUserTrackingUsageDescription property in the info.plist if you are collecting user data for Advertising and/or Third-Party libraries.

If you keep the information within your app, or for authentication purposes, you are not Tracking; therefore, you do not need this property. (I hope I've interpreted this correctly.)

In other words, the information you provided in the App Privacy section of App Store Connect, is inconsistent with the NSUserTrackingUsageDescription property in the info.plist.

like image 83
Michelle Avatar answered Oct 08 '22 12:10

Michelle


The issue is due to how the "App Privacy" section is set up. Based on your choices, it has determined that you are not collecting any data.

This is false because you are using IDFA (advertising identifier) so you are collecting "identifiers."

You need to revisit the "App Privacy" and modify your choices.

like image 5
inder_gt Avatar answered Oct 08 '22 10:10

inder_gt


I get the similar error, "Your app contains NSUserTrackingUsageDescription, indicating that you will request permission to track users.".

I removed the NSUserTrackingUsageDescription from the info.plist file, and the UMP lib in a new build and everything related.

And all the Admob requests have [GADMobileAds.sharedInstance.requestConfiguration tagForChildDirectedTreatment:YES];

But Appstoreconnect keeps giving the same error. Seems like appsstoreconnect is checking all the builds even when they are not used.

like image 2
Peter Andela Avatar answered Oct 08 '22 10:10

Peter Andela