What is IDFA?
Apple’s advertising identifier (IDFA) is a unique ID for each iOS device and is the only way to offer targeted ads.
So basically, any app which contains ads will have IDFA and you must decide which way your app work with those ads. Here is the screenshot when submit app to store and your app contain IDFA:
The problems is even you didn’t show ads inside your app but when try to submit app to store, Apple still require you to choose what actions of your app because it’s contain IDFA.
First, I’ve thought that I didn’t use the AdMob or iAds, so how my app contain IDFA?
After ton of search on Google, I understand that some library still contain the ads reference even it doesn’t need it…hmmmm!!! So, the true is because that library contain IDFA then you app contain IDFA!
So how to know that which library contain IDFA? Thank to Google again, you can use below command to find it.
Open Terminal, move to your root of source code path and:
grep -r advertisingIdentifier .
Remember the final dot of the command, don’t remove it, it’s not my typing mistake
Hit enter and you will see list of library which contain IDFA.
After that, I recommend you that you should read the docs of those library again and see what we should choose when Apple require to identify your IDFA action.
For me, I’m maintaining an old application, the library cause IDFA is… GOOGLE ANALYTICS!
In fact, from version 3.03b, GA didn’t need to reference to AdSupport.framework anymore.
Read more about change logs here: https://developers.google.com/analytics/devguides/collection/ios/changelog#header
So what I’m gonna to do is remove reference to AdSupport.framework and the libAdIdAccess.a.