App rejecte due to "Your app contains the Advertising Identifier [IDFA] API "

 Anyone knows what apple means by this message. I was trying to upload new version for my app.  I have added Google ads and Vungle in the new release. Is this related to that ? how to solve it.

We have discovered one or more issues with your recent delivery for “Fun and Learn”. To process your delivery, the following issues must be corrected:

Improper Advertising Identifier [IDFA] Usage. Your app contains the Advertising Identifier [IDFA] API but you have not indicated its usage on the Prepare for Upload page in iTunes Connect.

Once these issues have been corrected, go to the Version Details page and click “Ready to Upload Binary.” Continue through the submission process until the app status is “Waiting for Upload.” You can then deliver the corrected binary.

Regards

Abdul

Search for “IDFA” on the forum. This issue and its solution was discussed numerous times. Most recently only 2 days ago I think. 

Edit - See this thread for example. Towards the end Rob tells you what you need to do : 

http://forums.coronalabs.com/topic/48633-how-do-i-put-an-icon-in-softwareassetssoftwareassetmzitmspsoftwareassetpackage/?hl=idfa#entry251552

ksan,

I am in 2189 build… this is what was explained in that post… I am not sure what else can be checked… I have not changes much in the new release … only adding ads,…

Regards

Abdulaziz

Are you in 2189a or the initial 2189 that was released? There was an updated 2189 which has the fix for this issue. 

when I open corona simulator , I see 2014.2189 only.

so I think I am not in a version. Correct?

also in the download page in corona … I see only

CoronaSDK-2014.2189.msi   ??

I believe the difference between 2189 and 2189a has to do with Apple’s new requirements that all apps be submitted with apps built by Xcode 5.1.1.  The IDFA error has to do with the combination of check boxes you checked when you marked your app ready for binary submission in iTunes connect.  If you have ads, you have to check the box that says you have ads or you will get this rejection.  Unfortunately Apple’s language on that page, while technically quite accurate isn’t always the clearest as to what they mean.

Rob

Suggest downloading a fresh copy and installing again … See at 

https://developer.coronalabs.com/downloads/corona-sdk

CoronaSDK-2014.2189a.dmg  (100.4 MB)
md5: b40f1056148412c283a500790ba38d9f 

ksan,

it look that version for Mac only, windows is still in 2189.

Rob,

So IDFA means Ads :blink:  ? so I have just to check and agree for IDFA?

2189a will be Mac only since it only affects building with Xcode which is Apple only.  Windows users can’t submit Apple builds, so there was no reason to update the Windows build.

IDFA Stands for IdentifierForAdvertisers.  It’s a replacement value for the UDID that Apple added a couple of years ago to defeat people targeting ads to specific devices.  This was their new Unique ID for ad tracking.  Now, they want to explicitly know if you’re running ads in your app and if you’re not, then you don’t need to be using this IDFA because it’s something that could be used outside of its intent.

So yes, check the right box and you should be good to go.

Rob

Thanks all , I have selected the IDFA option and submitted a new package. let us see the result.

Abdul

According to 2189a, your app must be developed by Xcode5.1.1. If this requirement does not fulfill by you than its shows the same message which you have posted in the comment box. If you have ads in your apps than you must check the checkbox that “Your App Contains Ads”. Only than it will get accpeted by Apple otherwise it will get rejected. If you are creating an app for iPhone or iPad or iOS app development than it is must.

This blog post may be relevant to this discussion:

http://coronalabs.com/blog/2014/06/19/avoiding-app-rejection-from-apple/

Note, Windows can’t build for iOS so there was not a need to update it to use Xcode 5.1.1 build servers.

iAds do not use the IDFA.  If  you are only using iAds, you do not need to check these boxes.  Other ad providers do use it.

Rob

Search for “IDFA” on the forum. This issue and its solution was discussed numerous times. Most recently only 2 days ago I think. 

Edit - See this thread for example. Towards the end Rob tells you what you need to do : 

http://forums.coronalabs.com/topic/48633-how-do-i-put-an-icon-in-softwareassetssoftwareassetmzitmspsoftwareassetpackage/?hl=idfa#entry251552

ksan,

I am in 2189 build… this is what was explained in that post… I am not sure what else can be checked… I have not changes much in the new release … only adding ads,…

Regards

Abdulaziz

Are you in 2189a or the initial 2189 that was released? There was an updated 2189 which has the fix for this issue. 

when I open corona simulator , I see 2014.2189 only.

so I think I am not in a version. Correct?

also in the download page in corona … I see only

CoronaSDK-2014.2189.msi   ??

I believe the difference between 2189 and 2189a has to do with Apple’s new requirements that all apps be submitted with apps built by Xcode 5.1.1.  The IDFA error has to do with the combination of check boxes you checked when you marked your app ready for binary submission in iTunes connect.  If you have ads, you have to check the box that says you have ads or you will get this rejection.  Unfortunately Apple’s language on that page, while technically quite accurate isn’t always the clearest as to what they mean.

Rob

Suggest downloading a fresh copy and installing again … See at 

https://developer.coronalabs.com/downloads/corona-sdk

CoronaSDK-2014.2189a.dmg  (100.4 MB)
md5: b40f1056148412c283a500790ba38d9f