我创建了一个测试项目来测试admob并了解如何使用它但是当我构建项目时,当我尝试将admob添加到我的项目中时,我得到了11个苹果机器人链接器错误(Xcode 4.3.3)
h文件是oke,这里是M文件(代码取自admob knowlage base)
#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.
}
Run Code Online (Sandbox Code Playgroud)
错误
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)
Run Code Online (Sandbox Code Playgroud)
我已将lib.googleadmobAds添加到我的文件夹,并将二进制文件与库链接(当我删除它时,我收到相同的错误,但其中4个不是11)
我阅读了很多关于它的stackoveflow帖子,有些人说我还需要广告adsupport.framework但我找不到它我没有在带有库列表的链接二进制文件中看到它.
网上的这些解决方案都没有起作用我被卡住了.
它有什么问题我没有收到关于我的h或m文件的任何错误,所以为什么有机器链接器错误可以帮助我?
J_D*_*J_D 14
您需要链接AdMob所需的框架.
转到目标设置,然后在Build Phases中,然后在Link Binary with Libraries中添加以下框架(您可能需要额外的框架,这些是基于我看到的错误的juste):
MessageUI.framework
StoreKit.framework
SystemConfiguration.framework
Run Code Online (Sandbox Code Playgroud)
这些是我需要添加的框架以使事情顺利进行:
AdSupport.framework
AudioToolbox.framework
MessageUI.framework
SystemConfiguration.framework
StoreKit.framework
Run Code Online (Sandbox Code Playgroud)
我已经:
UIKit.framework
Foundation.framework
CoreGraphics.framework
libGoogleAdMobAds.a
Run Code Online (Sandbox Code Playgroud)
好的文档是:https: //developers.google.com/mobile-ads-sdk/docs/
| 归档时间: |
|
| 查看次数: |
9444 次 |
| 最近记录: |