Я использую Xcode 7, Swift 2.0. Эта проблема возникает как в симуляторе, так и в моем приложении, которое доступно в App Store. Много раз (не всегда), когда я выполняю segue в своем приложении, adBanner немного бегает, прежде чем загружать новое объявление. Я смущен, потому что объявление доступно, даже когда оно белое!iAd баннер по белому на segue
Вот мой код:
Я инициализировать ADBannerView:
var adBanner = ADBannerView(adType: ADAdType.Banner)
В моем viewDidLoad:
self.canDisplayBannerAds = true
self.adBanner.delegate = self
self.adBanner.hidden = true
self.adBanner.alpha = 0
self.adBanner.frame.origin.y = self.view.frame.height-self.adBanner.frame.height
self.view.addSubview(self.adBanner)
Мой viewDidDisappear:
override func viewDidDisappear(animated: Bool) {
super.viewDidDisappear(true)
adBanner.removeFromSuperview()
if(deviceType.isEqualToString("iPhone"))
{
adBanner.delegate = nil
}
}
В моем классе:
func bannerViewDidLoadAd(banner: ADBannerView!)
{
self.adBanner.hidden = false
UIView.animateWithDuration(0.5, animations: {self.adBanner.alpha = 1})
}
func bannerView(banner: ADBannerView!, didFailToReceiveAdWithError error: NSError!)
{
self.adBanner.hidden = true
UIView.animateWithDuration(0.5, animations: {self.adBanner.alpha = 0})
}
func bannerViewActionShouldBegin(banner: ADBannerView!, willLeaveApplication willLeave: Bool) -> Bool
{
return willLeave
}
func bannerViewWillLoadAd(banner: ADBannerView!) {
}
При запуске приложения с Xcode, я иногда получаю это сообщение, несмотря на то, что я реализован метод делегата:
ADBannerView: Необработанная ошибка (ни один делегата или делегат не реализует didFailToReceiveAdWithError :): Error Domain = ADErrorDomain Code = 5 "Операция не может быть выполнена. вид Баннера виден, но не содержание»UserInfo = 0x9632d30 {ADInternalErrorCode = 5, NSLocalizedFailureReason = Баннер вид виден, но не содержание}
Edit: Проблема заключается в использовании canDisplayBannerAds
результатов методов делегата не называют больше. info here: Hiding iAd ADBannerView in Swift when ad fails to load - no delegate or delegate does not implement didFailToReceiveAdWithError
Спасибо! Кажется, проблема в том, что строка кода canDisplayBannerAds очень странная. То, что я закончил, - это просто внедрение одного adBanner в приложении appDelegate. Более подробную информацию можно найти здесь: http://stackoverflow.com/questions/28514758/swift-iad-more-than-10-instances-of-adbannerview-warning-and-cgaffinetransform – yaboi