オープンデータとプログラミング

Swift| AdMob組み込み時のエラー「Type “ViewController” does not confirm to protocol ‘GADBannerViewDelegate’」の対処方法

Xcode

こんにちは。

Type “ViewController” does not confirm to protocol ‘GADBannerViewDelegate’

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import UIKit
import GoogleMobileAds
 
class ViewController: UIViewController {
 
    <中略>
 
    override func viewDidLoad() {
        <中略>
 
            //AdMob
            var bannerView: GADBannerView = GADBannerView();
            bannerView = GADBannerView(adSize:kGADAdSizeBanner);
            bannerView.adUnitID = "ca-app-pub-****************/**********";   //広告ユニットID
            bannerView.delegate = self; //delegatを指定 ※ここでビルドエラー発生
            bannerView.rootViewController = self;
            self.view.addSubview(bannerView);
            bannerView.loadRequest(GADRequest());
             
             
    }  
     
}

この問題は、ViewControllerクラスにプロトコルを指定するのを忘れているため発生します。

プロトコル、”GADBannerViewDelegate”を追加してやります。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
class ViewController: UIViewController ,GADBannerViewDelegate { //※プロトコルを指定すればOK
 
    <中略>
 
    override func viewDidLoad() {
        <中略>
 
            //AdMob
            var bannerView: GADBannerView = GADBannerView();
            bannerView = GADBannerView(adSize:kGADAdSizeBanner);
            bannerView.adUnitID = "ca-app-pub-****************/**********";   //広告ユニットID
            bannerView.delegate = self; //delegatを指定 ※ビルドエラーが解消!
            bannerView.rootViewController = self;
            self.view.addSubview(bannerView);
            bannerView.loadRequest(GADRequest());
             
             
    }  
     
}

これでビルドエラーが解決しましたか?

Comments are closed.