ababab5
ababab5

Reputation: 284

Failed Validation reason : Improper Advsertising Idenfier IDFA Usage. Your app contains the Advertising Identifier IDFA

This is the message, when I tried to submit my new game :

Failed Validation reason : Improper Advsertising Idenfier IDFA Usage. Your app contains the Advertising Identifier IDFA API but your app is not respecting the Limit Ad Tracking in iOs.

I never have this issue before.

I check in terminal :

fr:DontTouch anthonybarouch$ grep -r advertisingIdentifier .
Binary file ./Trifecta/libInMobi-4.1.0.a matches

It's the only file where the advertisingIdentifier is used.

Here a screenshot of all the libraries I'm using in my project :

enter image description here

Upvotes: 2

Views: 1793

Answers (5)

Paul Brady
Paul Brady

Reputation: 518

I contacted Millennial regarding the same issue, I and was encouraged by their response...

It appears that Apple deployed some new auto-check validations over the weekend and our SDK is being flagged as non-compliant. We do not believe we’re out of compliance with IDFA policies, but it does appear we’re failing this auto-check. GMS Tech and product are both working on this as priority #1 today and we have engaged Apple.

We are (and always have been) compliant and we’re working with Apple to figure out why this validation message is being tripped.

Later, I was told that the issue had been resolved on Apple's end, and that no Millennial SDK update would be required.

So, it looks like the current Millennial Media SDK (v5.2.0, and possibly earlier ones) are no longer a problem.

Upvotes: 0

user3590682
user3590682

Reputation: 9

You can use a symbolic breakpoint to identify what in your code or dependent SDK is calling advertisingIdentifier when it is not supposed to:

  1. On a device, go to Settings > Privacy > Advertising and turn on Limit Ad Tracking.
  2. In Xcode, add a symbolic breakpoint for -[ASIdentifierManager advertisingIdentifier]
  3. Install and run the build to your device. That breakpoint should not fire, and if does then you've found the source of the problem.

Upvotes: 0

aronspring
aronspring

Reputation: 276

The problem isn't actually to do with using 'advertisingIdentifier', but weak referencing it which Apple no longer allows.

If you remove AdSupport.framework, any SDK's which then cause linker errors are NOT the problem. So if you have other Ad providers not causing linker errors, this is because they are weak referencing AdSupport which is not allowed. Remove any others advertising SDK's and try again. In my case Millennial was the problem.

Upvotes: 1

danypata
danypata

Reputation: 10175

I had the same issue in this weekend and I had to remove all the add support frameworks, including iAd, AdSupport and libGoogleAdMob,and all the code in order to submit a binary and reject it.

Apple doesn't give you the chance to delete a version until you upload a binary, also you can't upload a binary if you didn't checked the "Advertising identifier" checkbox and you use ads in your app, and more retarded you can't change that option until you reject the binary uploaded for the current version.

So what I did, I created a new copy of my project, removed all references to ads, submit the binary without ads and rejected the binary, after that, I set the option on iTunes related to "Advertising identifier" to YES and uploaded a new binary form my original project with ads enabled and this worked.

Upvotes: 1

Suyog Patil
Suyog Patil

Reputation: 1620

As per apple guidelines, if any application is using the Advertising identifier and not have included ad functionality then apple will reject the application.

So you got from terminal that libInMobi-4.1.0.a lib using the Advertising identifier.

Check for libInMobi-4.1.0.a updates. Make sure you have to use libraries which are not using such advertising identifiers.

Upvotes: 0

Related Questions