2016-05-06 10 views
1

Ich möchte iAd in einem Popover anzeigen. Ich verwende eine gemeinsam genutzte Instanzklasse, um die Methode displayAd aufzurufen. hier ist meine gemeinsame Instanzklasse:Überprüfen Sie, ob iAd verfügbar ist

class Share : NSObject ,UIPopoverPresentationControllerDelegate { 
     static let sharedInstance = Share()   

      func displayAd(sender:UIViewController) { 

      let storyboard = UIStoryboard(name: "Main", bundle: nil) 
      let vc = storyboard.instantiateViewControllerWithIdentifier("PopOverVC") as UIViewController 
      vc.preferredContentSize = CGSize(width: 310, height: 250) 
      let navC = UINavigationController(rootViewController: vc) 
      navC.modalPresentationStyle = UIModalPresentationStyle.Popover 
      let popOver = navC.popoverPresentationController 
      popOver?.delegate = self 
      popOver?.sourceView = sender.view 
      popOver?.sourceRect = CGRectMake(CGRectGetMidX(sender.view.bounds), CGRectGetMidY(sender.view.bounds),0,0) 
      popOver?.permittedArrowDirections = UIPopoverArrowDirection(rawValue:0) 
      navC.navigationBarHidden = true 
      sender.presentViewController(navC, animated: true) {} 
     } 
} 

Ich verwende die displayAd Funktion eine popover anzuzeigen (die PopOverVC enthält, die eine iAd) und dann ist dies die PopOverVC Klasse:

class PopOverVC: UIViewController,ADBannerViewDelegate { 

    var ad = ADBannerView() 
    @IBOutlet var Banner: ADBannerView! 

    @IBAction func CloseBtn(sender: UIButton) { 
     self.dismissViewControllerAnimated(true, completion: nil) 
    } 

    override func viewDidLoad() { 
     Banner = ad 
    } 
func bannerViewDidLoadAd(banner: ADBannerView!) { 
     sharedAd.hidden = false 
    } 

    func bannerView(banner: ADBannerView!, didFailToReceiveAdWithError error: NSError!) { 
     sharedAd.hidden = true 
     self.dismissViewControllerAnimated(true, completion: nil) 
    } 

} 

Jetzt, was ich tun möchte, ist displayAd Methode von einem anderen View Controller aufrufen und dann prüfen, ob iAd verfügbar ist und dann zeigen. Im Moment zeigt mein Code den PopOver und dann die Verfügbarkeit von iAd und wenn nicht, schließt es. Ich möchte PopOver nur anzeigen, wenn das iAd verfügbar ist.

Gibt es das überhaupt, um das zu erreichen?

dank

+1

iAd wird eingestellt: https://developer.apple.com/news/?id=01152016a –

Antwort

2

Sie können einfach ask the ADBannerView mit der bannerLoaded Eigenschaft:

Banner Ansichten automatisch neue Anzeigen im Hintergrund herunterladen. Diese Eigenschaft gibt true zurück, wenn eine Ankündigung geladen wird. sonst falsch.

Doch wie Daniel oben erwähnt, you have six weeks einen Ersatz für Ihren iAd Code zu versenden, so dass ich sehr stark empfehlen Sie auf dieser Stelle arbeiten!