iAdを自分のアプリに組み込む方法についてのチュートリアルを行っていますが、これまでのところは苦労しています。このチュートリアルでは、ios 3.0のユーザーに問題がある可能性があるという事実を取り入れています。それがここで見つけることができます:実装しようとするとiADエラーが発生する
アーキテクチャ:ARMv6以降のARMv7 ベースSDK:最新のiOS(iOSの5.0) ビルドアクティブ・アーキテクチャのみ:いいえ 有効なアーキテクチャ:ARMv6のhttp://www.raywenderlich.com/1371/how-to-integrate-iad-into-your-iphone-app
は、これらは私のプロジェクトのための私のビルド設定されていますターゲット用の設定7
ビルドarmv:
Architectures: armv6 armv7
Base SDK: Latest iOS (iOS 5.0)
Build active Architecture only: No
Valid Architectures: armv6 armv 7
、事前にありがとうございますしばらくの間、答えを見つけることを試みて!
これは私が取得していますエラーです:
Undefined symbols for architecture armv6:
"_ADBannerContentSizeIdentifier480x32", referenced from:
-[newPastResultViewController createAdBannerView] in newPastResultViewController.o
-[newPastResultViewController fixupAdView:] in newPastResultViewController.o
"_ADBannerContentSizeIdentifier320x50", referenced from:
-[newPastResultViewController createAdBannerView] in newPastResultViewController.o
-[newPastResultViewController fixupAdView:] in newPastResultViewController.o
ld: symbol(s) not found for architecture armv6
clang: error: linker command failed with exit code 1 (use -v to see invocation)
//私の.mファイル内
- (int)getBannerHeight:(UIDeviceOrientation)orientation {
if (UIInterfaceOrientationIsLandscape(orientation)) {
return 32;
} else {
return 50;
}
}
- (int)getBannerHeight {
return [self getBannerHeight:[UIDevice currentDevice].orientation];
}
- (void)createAdBannerView {
Class classAdBannerView = NSClassFromString(@"ADBannerView");
if (classAdBannerView != nil) {
self.adBannerView = [[[classAdBannerView alloc]
initWithFrame:CGRectZero] autorelease];
[_adBannerView setRequiredContentSizeIdentifiers:[NSSet setWithObjects:
ADBannerContentSizeIdentifier320x50,
ADBannerContentSizeIdentifier480x32, nil]];
if (UIInterfaceOrientationIsLandscape([UIDevice currentDevice].orientation)) {
[_adBannerView setCurrentContentSizeIdentifier:
ADBannerContentSizeIdentifier480x32];
} else {
[_adBannerView setCurrentContentSizeIdentifier:
ADBannerContentSizeIdentifier320x50];
}
[_adBannerView setFrame:CGRectOffset([_adBannerView frame], 0,
-[self getBannerHeight])];
[_adBannerView setDelegate:self];
[self.view addSubview:_adBannerView];
}
}
- (void)fixupAdView:(UIInterfaceOrientation)toInterfaceOrientation {
if (_adBannerView != nil) {
if (UIInterfaceOrientationIsLandscape(toInterfaceOrientation)) {
[_adBannerView setCurrentContentSizeIdentifier:
ADBannerContentSizeIdentifier480x32];
} else {
[_adBannerView setCurrentContentSizeIdentifier:
ADBannerContentSizeIdentifier320x50];
}
[UIView beginAnimations:@"fixupViews" context:nil];
if (_adBannerViewIsVisible) {
CGRect adBannerViewFrame = [_adBannerView frame];
adBannerViewFrame.origin.x = 0;
adBannerViewFrame.origin.y = 0;
[_adBannerView setFrame:adBannerViewFrame];
CGRect contentViewFrame = _contentView.frame;
contentViewFrame.origin.y =
[self getBannerHeight:[UIApplication sharedApplication].statusBarOrientation];
contentViewFrame.size.height = self.view.frame.size.height -
[self getBannerHeight:[UIApplication sharedApplication].statusBarOrientation];
_contentView.frame = contentViewFrame;
} else {
CGRect adBannerViewFrame = [_adBannerView frame];
adBannerViewFrame.origin.x = 0;
adBannerViewFrame.origin.y =
-[self getBannerHeight:[UIApplication sharedApplication].statusBarOrientation];
[_adBannerView setFrame:adBannerViewFrame];
CGRect contentViewFrame = _contentView.frame;
contentViewFrame.origin.y = 0;
contentViewFrame.size.height = self.view.frame.size.height;
_contentView.frame = contentViewFrame;
}
[UIView commitAnimations];
}
}
「ADBannerContentSizeIdentifierLandscape」と「ADBannerContentSizeIdentifierPortrait」は、iOSでも廃止予定です。 –