user4412665
user4412665

Reputation:

Implement iAd in Swift app

I want to implement iAd to my Swift app with this code:

bannerView = ADBannerView(adType: .banner)
bannerView.translatesAutoresizingMaskIntoConstraints = false
bannerView.delegate = self
bannerView.isHidden = true
view.addSubview(bannerView)

let viewsDictionary = ["bannerView": bannerView]
view.addConstraints(NSLayoutConstraint.constraints(withVisualFormat: "H:|[bannerView]|", options: [], metrics: nil, views: viewsDictionary))
view.addConstraints(NSLayoutConstraint.constraints(withVisualFormat: "V:[bannerView]|", options: [], metrics: nil, views: viewsDictionary))

but in the view.addContraints lines is this error:

Cannot convert value of type '[String : ADBannerView?]' to expected argument type '[String : AnyObject]

I'm not sure what to do.

Upvotes: 1

Views: 320

Answers (1)

Paulw11
Paulw11

Reputation: 114826

It seems that your bannerView variable is an optional, while your dictionary is expecting non-optionals (AnyObject not AnyObject?). You need to unwrap the optional:

let viewsDictionary = ["bannerView":bannerView!]

However, as others noted in the comments, the iAd network is shutting down from the end of June 2016 so no advertisements will be delivered to your app after this date. You may want to investigate alternate advertising frameworks.

Upvotes: 1

Related Questions