So as iAd is shutting down very soon, I tried to remove all references to advertisements in my iOS app (which is currently on the AppStore) and submitting a new update with no ads. The only other thing I changed was adding Twitter Fabric's Crashlytics support to my application.
Anyways, I submitted the update and my app was rejected and I received the following message:
From Apple
Program License Agreement
PLA 3.3.12
We found that your app uses the Advertising Identifier but does not include ad functionality. This does not comply with the terms of the Apple Developer Program License Agreement, as required by the App Store Review Guidelines.
Specifically, section 3.3.12 of the Apple Developer Program License Agreement states:
"You and Your Applications (and any third party with whom you have contracted to serve advertising) may use the Advertising Identifier, and any information obtained through the use of the Advertising Identifier, only for the purpose of serving advertising. If a user resets the Advertising Identifier, then You agree not to combine, correlate, link or otherwise associate, either directly or indirectly, the prior Advertising Identifier and any derived information with the reset Advertising Identifier."
Note: iAd does not use the AdSupport framework, ASIdentifierManager, or the Advertising Identifier. Therefore they are not required for iAd implementations and should not be included in your app for iAd support.
If your app is serving ads, please:
- Ensure that you have tested your app on a device, not just the simulator, and that you have removed all previous versions of your app prior to testing
- Provide us the steps to locate ads in your app
If your app does not serve ads, please check your code - including any third-party libraries - to remove any instances of:
class: ASIdentifierManager
selector: advertisingIdentifier
framework: AdSupport.framework
If you are planning to incorporate ads in a future version, please remove the Advertising Identifier from your app until you have included ad functionality.
To help locate the Advertising Identifier, use the “nm” tool. For information on the “nm” tool, please see the nm man page.
If you do not have access to the libraries' source, you may be able to search the compiled binary using the "strings" or "otool" command line tools. The "strings" tool lists the methods that the library calls, and "otool -ov" will list the Objective-C class structures and their defined methods. These techniques can help you narrow down where the problematic code resides.
I have been scouring the web for solutions for the past week, with no success. All other people who have received the same rejection letter have all had different scenarios that wouldn't be applicable to my situation. Also none of the scripts suggested on other threads have worked for me, and also many of the solutions on the other threads were solved by updating their third-party libraries...which has not worked for me unfortunately.
My question is: How do I ensure that iAd is completely gone from my app, this includes how to remove the Advertising Identifier. I tried using the methods that Apple had suggested, but I had no idea how to successfully use them.
Any help solving my predicament would be greatly appreciated, thanks!
P.s. I might be wrong, but I thought the entire time, my problems could have been caused by Fabric/Crashlytics...but that doesn't make any sense because these libraries have been updated, and I did not install their ad platform.