2013-01-23 11 views
6

私はadmobをテストするためのテストプロジェクトを作成し、それを使う方法を教えていますが、プロジェクトをビルドするときにadmobを追加しようとすると11リンゴmach-oリンカエラー私のプロジェクト(Xcodeの4.3.3)admobで作業中リンゴmach-oリンカエラー

Hファイルがおけであり、ここでMファイルである(コードがAdMob広告knowlageベースから取得されます)

#import "chViewController.h" 

#define MY_BANNER_UNIT_ID @"my id is written in here" 

@interface chViewController() 

@end 

@implementation chViewController 

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil 
{ 
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; 
    if (self) { 
     // Custom initialization 
    } 
    return self; 
} 

- (void)viewDidLoad { 
    [super viewDidLoad]; 

    // Create a view of the standard size at the top of the screen. 
    // Available AdSize constants are explained in GADAdSize.h. 
    bannerView_ = [[GADBannerView alloc] initWithAdSize:kGADAdSizeBanner]; 

    // Specify the ad's "unit identifier." This is your AdMob Publisher ID. 
    bannerView_.adUnitID = MY_BANNER_UNIT_ID; 

    // Let the runtime know which UIViewController to restore after taking 
    // the user wherever the ad goes and add it to the view hierarchy. 
    bannerView_.rootViewController = self; 
    [self.view addSubview:bannerView_]; 

    // Initiate a generic request to load it with an ad. 
    [bannerView_ loadRequest:[GADRequest request]]; 
} 


- (void)viewDidUnload 
{ 
    [super viewDidUnload]; 
    // Release any retained subviews of the main view. 
} 

エラー

Undefined symbols for architecture i386: 
    "_SCNetworkReachabilityCreateWithName", referenced from: 
     -[GADNetworkChecker startNetworkChecking] in libGoogleAdMobAds.a(GADNetworkChecker.o) 
    "_SCNetworkReachabilityScheduleWithRunLoop", referenced from: 
     -[GADNetworkChecker startNetworkChecking] in libGoogleAdMobAds.a(GADNetworkChecker.o) 
    "_SCNetworkReachabilitySetCallback", referenced from: 
     -[GADNetworkChecker startNetworkChecking] in libGoogleAdMobAds.a(GADNetworkChecker.o) 
    "_SCNetworkReachabilityUnscheduleFromRunLoop", referenced from: 
     -[GADNetworkChecker stopNetworkChecking] in libGoogleAdMobAds.a(GADNetworkChecker.o) 
    "_OBJC_CLASS_$_ASIdentifierManager", referenced from: 
     objc-class-ref in libGoogleAdMobAds.a(GADIdentifierUtilities.o) 
    "_AudioServicesPlaySystemSound", referenced from: 
     -[GADWebViewDelegate webView:shouldStartLoadWithRequest:navigationType:] in libGoogleAdMobAds.a(GADWebViewDelegate.o) 
    "_OBJC_CLASS_$_SKStoreProductViewController", referenced from: 
     objc-class-ref in libGoogleAdMobAds.a(GADOpener.o) 
    "_OBJC_CLASS_$_MFMailComposeViewController", referenced from: 
     objc-class-ref in libGoogleAdMobAds.a(GADOpener.o) 
    "_OBJC_CLASS_$_MFMessageComposeViewController", referenced from: 
     objc-class-ref in libGoogleAdMobAds.a(GADOpener.o) 
    "_SKStoreProductParameterITunesItemIdentifier", referenced from: 
     -[GADOpener openInAppStore:fallbackURLString:] in libGoogleAdMobAds.a(GADOpener.o) 
ld: symbol(s) not found for architecture i386 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

私はlibが追加されました.googleadmobAds to myライブラリとリンクされたバイナリ(削除すると同じエラーが発生するが、そのうちの4つは11ではない)

私はstackoverflowの投稿をたくさん読んでいて、adsupport.framework私はそれを見つけることはできません私はライブラリのリストとのリンクのバイナリでそれを見ていない。

ネット上のこれらのソリューションはどれも動作していません。私は立ち往生しています。

何が問題なのですか?私のhファイルまたはmファイルに関するエラーが表示されないので、mach-oリンカのエラーがどうして私を助けてくれるのですか?

答えて

14

AdMobが必要とするフレームワークとリンクする必要があります。

MessageUI.framework 
StoreKit.framework 
SystemConfiguration.framework 
+0

私はそれらをすべて追加しますが、まだ4つのエラーがあります。なぜadmobのドキュメントはこれらのフレームワークについて何も言いません。 –

+1

私はAdSupport.frameworkとおそらくAudioToolBox.frameworkを忘れてしまったようです。良い方法は、未定義のクラス(例えばASIdentifierManager)を取得し、それらがあるフレームワーク内のGoogleで検索することです。 –

+0

今日、私は(AdSupport.frameworkに加えて)EventKitUI.framework、EventKit.framework、およびCoreTelephony.frameworkというフレームワークも必要としました。 –

0

SystemConfigurationフレームワークとリンクする必要があるようです。

このApple Guideは、Xcodeを設定するのに役立ちます。

+0

私はリンクされたシステムconfiguration.frameの仕事と4つのエラーがなくなりましたが、まだ7つのエラー彼らはすべて同じですか? –

7
:あなたのターゲット設定に

Go]を、[ビルドフェーズでは、ライブラリとリンクのバイナリにし、次のフレームワークを追加します(追加のものが必要になる場合があり、これらはジュスト私が見たエラーに基づいています)

AdSupport.framework 
AudioToolbox.framework 
MessageUI.framework 
SystemConfiguration.framework 
StoreKit.framework 

私はすでに持っていた:

UIKit.framework 
Foundation.framework 
CoreGraphics.framework 
libGoogleAdMobAds.a 
これらは私が事が軌道に乗るために追加する必要があるフレームワークがあります10

良いドキュメントは: https://developers.google.com/mobile-ads-sdk/docs/

関連する問題