2016-05-06 171 views
1

我想在彈出窗口中顯示iAd。我使用共享實例類來調用displayAd方法。這裏是我的共享實例類:檢查iAd是否可用

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) {} 
     } 
} 

我使用displayAd功能顯示酥料餅(包含PopOverVC這是一個IAD) ,然後這是PopOverVC類:

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) 
    } 

} 

現在,我想要做的是從其他視圖控制器調用displayAd方法,然後檢查iAd是否可用,然後顯示它。 現在我的代碼顯示PopOver,然後檢查iAd的可用性,如果不可用,它會關閉。 除非iAd可用,否則我不想顯示PopOver。

無論如何要實現這一目標嗎?

感謝

+1

iAd正在停產:https://developer.apple.com/news/?id=01152016a –

回答

2

你可以簡單地ask the ADBannerViewbannerLoaded屬性:

橫幅觀點自動在後臺下載新的廣告。如果加載廣告,則此屬性返回true;否則爲假。

但是,正如丹尼爾上面所指出的,you have six weeks發運更換爲您的iAd的代碼,所以我非常強烈建議您上工作,而不是!