Hi everyone, I am new in the forum, and I have lot of problem to understant Apple and there way very confusing in communication.
I resently have problem with multiple app who has been rejected. I have all the Iphone version running in app store, but all my IPad version has been rejected. I double check everything and I can't see what can I do for make Apple happy.
Below a copy of the coding i use for iAd and the letter Apple send me.
import UIKit
import iAd
class Home: UIViewController, ADBannerViewDelegate {
@IBOutlet weak var adBannerView: ADBannerView?
@IBOutlet weak var reset: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
/
self.canDisplayBannerAds = true
self.adBannerView?.delegate = self
self.adBannerView?.hidden = true
/
}
func bannerViewDidLoadAd(banner: ADBannerView!) {
self.adBannerView?.hidden = false
}
func bannerViewActionShouldBegin(banner: ADBannerView!, willLeaveApplication willLeave: Bool) -> Bool {
return true
}
func bannerView(banner: ADBannerView!, didFailToReceiveAdWithError error: NSError!) {
self.adBannerView?.hidden = true
}
"PLA 3.3.12
We found that your app uses the iOS Advertising Identifier but does not include ad functionality. This does not comply with the terms of the iOS Developer Program License Agreement, as required by the App Store Review Guidelines.
Specifically, section 3.3.12 of the iOS 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."
Thank you for your help
Christian
Christian-
You should only need
self.canDisplayBannerAds = true
Setting up the delegates and managing the hidden property are not necessary. Please give this a try. The "You're Connect to iAd" banner should appear if all works as expected, not only the badge in the corner.
On the rejection, it appears that you are using the Advetiser ID or IDFA in the app. Note that if you are using iAd only, the Advertiser ID is not required. Please see details in the notice on proper steps to find usage.
-Josh