IOS app rejected due to IDFA on Facebook SDK

Reasons Software License Agreement PLA 3.3.12

We found that your application uses the iOS Advertising ID, but does not include the functionality of the ads. This does not comply with the terms of the iOS Developer Program License Agreement as required by the App Store Review Guide.

In particular, Section 3.3.12 of the iOS Developer Program License Agreement states:

"You and your applications (and any third parties with whom you have concluded an advertising contract) may use the advertising identifier and any information obtained using the advertising identifier only for advertising. The user resets the advertising identifier, then you agree not to combine, "Do not correlate, link, or otherwise connect, directly or indirectly, the previous advertising identifier and any information received with reset advertising identifier."

Please check your code - including any third-party libraries - to remove all instances:

class: ASIdentifierManager
selector: ad id
framework: AdSupport.framework

If you plan to include ads in a future version, remove the advertising identifier from your application until you enable the ads features.

To find the ad ID, use the "nm" tool. For information on the nm tool, open a terminal window and enter man nm.

If you donโ€™t have access to the source of the libraries, you can search the compiled binary using the โ€œlineโ€ or โ€œotoolโ€ command line tools. The Strings tool lists the methods that the library calls, and otool -ov lists the structures of the Objective-C classes and their specific methods. These methods will help you narrow down the location of the problem code.

I checked who uses IDFA through the following command:

grep -r advertisingIdentifier . 

I knew this uses the Facebook SDK (version 3.1.1).

How can i solve this?

+6
source share
3 answers

The solution for me was that the facebook 3.20 SDK was really fine, but I had to remove the FBAudience framework, which they include in the FacebookSDK.framework file.

Once I uninstalled the FBAudience framework and launched

 otool -L myAppName.app/myAppName 

I no longer saw the AdSupport library embedded in my assembly printed on the terminal as follows:

 /System/Library/Frameworks/AdSupport.framework/AdSupport 
+4
source

If you have not found a way to remove the use of IDFA from the Facebook SDK, another solution would be to say that you are using the IDFA ID to attribute the installation to the previously loaded ad (which is actually quite simple to include in the Facebook SDK).

This option should be available to you when creating a new assembly in iTunesConnect, if I remember correctly.

+1
source

This issue has been resolved by Facebook in their latest versions. Update your Facebook sdk to the latest version and this will solve your problem.

0
source

Source: https://habr.com/ru/post/975279/


All Articles