About the iAd App Network Shutdown
As of December 31, 2016, the iAd App Network is no longer available.
Promoting Your App
If you'd like to promote your apps, you can advertise using Search Ads, Apple News, or third party networks and advertising sellers.
Updating Your App
Apps that have implemented the iAd.Framework classes should not crash solely because of the deprecation. You can remove the iAd framework and connection on your next regular app update or submission.
The following classes and their APIs in the iAd SDK are deprecated:
- UIViewController (iAdAdditions)
- AVPlayerViewController (iAdPreroll)
- MPMoviePlayerController (iAdPreroll)
Apps that are not updated will experience the following issues:
- No ads will be returned in your app.
- A deprecation warning will appear in Xcode.
- If your app implements ADBannerView and the ADBannerViewDelegate, the bannerView:didFailToReceiveAdWithError: delegate method, it will be called with the ADError enum.
- If your app implements ADInterstitialAd and the ADInterstitialAdDelegate, the interstitialAd:didFailWithError: delegate method will be called with an ADError enum.
- If your app implements the iAdAdditions category on UIViewController, setting the ADInterstitialPresentationPolicy will have no effect and calling requestInterstitialAdPresentation: or canDisplayBannerAds: will always return NO.
- If your app implements the iAdPreroll category on AVPlayerViewController or the iAdPreroll category on MPMoviePlayerController, calling playPrerollAdWithCompletionHandler: will return an ADError enum.
- When your ADBannerView delegate receives this error, your app should look for other ads (from other ad-networks).
- Apps that implement the iAdAdditions category on UIViewController and use automatic presentation, should not notice any impact. Apps that manually manage the ADBannerView may see a blank space.
- If you have implemented a mediation layer, contact the mediation provider to understand impact to your app.
- ADClient APIs (requestAttributionDetailsWithBlock and addClientToSegments) will continue to work.