AppDelegate経由で iAdバナー広告を表示するサンプルを作成しました。
以下のリンクからサンプルをダウンロード出来ます。
ダウンロード
使用方法
- 新規プロジェクトを作成する
- Xcodeの TARGETSにある Summaryを開き、Linked Frameworks and Librariesの項目から iAd.frameworkを追加
- MainStorybordを開き、ADBannerViewをストーリーボードに配置
- 配置した ADBannerViewを Controlキーを押しながら ViewController.hへドラッグして接続
- ソースコードを以下の内容に編集
ソースコード
AppDelegate.h
1
2
3
4
5
6
7
8
9
| #import <iAd/iAd.h>
@interface AppDelegate : UIResponder <UIApplicationDelegate, ADBannerViewDelegate>
@property (strong, nonatomic) UIWindow *window;
- (void)initBanner:(UIView *)view :(ADBannerView *)adBannerView :(NSInteger)bannerY;
@end
|
AppDelegate.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
| #import "AppDelegate.h"
@implementation AppDelegate
//省略
- (void)initBanner:(UIView *)view :(ADBannerView *)adBannerView :(NSInteger)bannerY
{
NSInteger iADBannerX = 0;
NSInteger iADBannerY = 0;
NSInteger iADBannerWidth = 320;
NSInteger iADBannerHeight = 50;
adBannerView = [[ADBannerView alloc] initWithFrame:CGRectMake(iADBannerX, iADBannerY, iADBannerWidth, iADBannerHeight)];
adBannerView.delegate = self;
[adBannerView setHidden:YES];
CGRect bannerFrame = adBannerView.frame;
bannerFrame.origin.y = bannerY;
adBannerView.frame = bannerFrame;
[view addSubview:adBannerView];
}
- (void)bannerViewDidLoadAd:(ADBannerView *)banner
{
[banner setHidden:NO];
}
- (void)bannerViewActionDidFinish:(ADBannerView *)banner {
}
- (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error
{
[banner setHidden:YES];
}
@end
|
ViewController.h
1
2
3
4
5
6
7
8
9
10
| #import <UIKit/UIKit.h>
#import <iAd/iAd.h>
@interface ViewController : UIViewController <ADBannerViewDelegate> {
ADBannerView *adBannerView;
}
@property (nonatomic, retain) IBOutlet ADBannerView *adBannerView;
@end
|
ViewController.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
| #import "ViewController.h"
#import "AppDelegate.h"
@interface ViewController ()
@end
@implementation ViewController
//アクセサメソッドとして定義しておく
@synthesize adBannerView;
- (void)viewDidLoad
{
[super viewDidLoad];
//バナー初期化
[self initADBanner];
}
- (void)initADBanner
{
//バナーの Y座標を画面下部に指定
NSInteger bannerY = self.view.frame.size.height - adBannerView.frame.size.height;
//AppDelegate初期化
AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
//AppDelegateにある initBannerメソッド呼び出し (引数にバナーの Y座標を指定)
[appDelegate initBanner:self.view:adBannerView:bannerY];
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
}
@end
|
補足
iAdバナーのサイズ(寸法)は、横幅320ピクセル×縦幅50ピクセルです。
関連記事
お薦めの参考書
詳細! Swift 2 iPhoneアプリ開発 入門ノート Swift 2 + Xcode 7対応
Swiftをこれから学ぶ方に向けて、図解入りで丁寧に解説されています。基本に重点を置き解説されていますので、応用の段階に入った時もスムーズに実装できます。サンプルコードも多数収録されており、大変充実した内容となっています。