読者です 読者をやめる 読者になる 読者になる

ニペブ - iPhone / iOSアプリ開発

iPhone / iOS アプリ開発方法と技術情報、入門レベルの初心者向けの記事を書いています。

(iOS/iPhoneアプリ開発) GoogleAdMobAdsSDKを導入する方法(途中でApple Mach-O Linker Errorのエラーが発生しBuild Failed)

完成イメージ

Google AdMob Ads SDKの導入方法を記載しています。
ビルド時にApple Mach-O Linker Errorというエラーが発生しましたが、ライブラリを追加する事により対処ができました。
f:id:nipe880324:20131209091100p:plain:w340

環境

導入方法

1. AdMobのメディエーションIDの取得

後から記事を書きたいと思っておりますが、今は書いていないのでGoogleで検索してください。

2. Googleのサイトからソースをダウンロードする

Downloads - Google Mobile Ads SDK — Google Developers

3. ダウンロードしたファイルを回答し、「GoogleAdMobAdsSdkiOS-6.6.1」をxcodeのプロジェクトに追加する。

解答したファイルをxcodeにドラッグするだけでプロジェクトに追加出来ます。
f:id:nipe880324:20131208064210p:plain

4. 「GoogleAdMobAdsSdkiOS-6.6.1」配下の「Add-ons」フォルダを削除する。
5. 実装

今回は、ViewController.hを使わずにデモのためViewController.mだけで実装します。

// AdMobのメディエーションID <span style="color: #ff2600">※1.で取得したモノ</span>
#define ADMOB_MEDIATION_ID @"ca-app-pub-XXXXXXXXXXXX/XXXXX"

// GADBannderViewのインポート
#import "GADBannerView.h"
#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
    // GADBannerView の作成場所の設定
    CGPoint origin = CGPointMake(0.0, self.view.frame.size.height - CGSizeFromGADAdSize(kGADAdSizeBanner).height);
    
    // GADBannerView の作成
    GADBannerView *bannerView = [[GADBannerView alloc] initWithAdSize:kGADAdSizeBanner origin:origin];
    
    // メディエーション ID を登録
    bannerView.adUnitID = ADMOB_MEDIATION_ID;
    bannerView.rootViewController = self;
    
    // 広告バナーを貼り付ける
    [self.view addSubview:bannerView];
    
    // 広告リクエストをテスト用にする
    GADRequest *request = [GADRequest request];
    request.testing = YES;
    
    // 広告のロード開始
    [bannerView loadRequest:request];
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end
6. Linkerに「-ObjC」を追加

Xcode上から、[Build Settings] -> [Linking] -> [Other Linker Flags] から 「-ObjC」を追加してください。
「-ObjC」の大文字小文字には注意してください。
f:id:nipe880324:20131209091703p:plain

7. 必要なライブラリを追加

Xcode上で、[Build Phases] -> [Link Binary With Libraries] から次のライブラリを追加してください。

  • Foundation.framework
  • UIKit.framework
  • CoreGraphics.framework
  • AVFoundation.framework
  • AdSupport.framework
  • AudioToolbox.framework
  • MessageUI.framework
  • StoreKit.framework
  • SystemConfiguration.framework
  • libGoogleAdMobAds.a

f:id:nipe880324:20131209091912p:plain

8. 実行

次のようになります。(最初の完成イメージと同様)
インターネットに繋がっていない場合は、表示されません。
f:id:nipe880324:20131209091100p:plain:w340