Google Admob 无法使用 Objective C 的 Xcode 7.2

Posted

技术标签:

【中文标题】Google Admob 无法使用 Objective C 的 Xcode 7.2【英文标题】:Google Admob is Not working Xcode 7.2 using objective C 【发布时间】:2015-12-28 16:58:44 【问题描述】:

在 ViewController.h 我的代码是

#import <UIKit/UIKit.h>
@class GADBannerView;
@interface ViewController : UIViewController
@property (strong, nonatomic) IBOutlet GADBannerView *addView;
@end

我的代码是 ViewController.m 文件

@import GoogleMobileAds;
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController

- (void)viewDidLoad 
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    self.addView.adUnitID = @"ca-app-pub-9210017787755331/6998637808";
    self.addView.rootViewController = self;
    GADRequest *request = [GADRequest request];
        request.testDevices = @[
                            @"2077ef9a63d2b398840261c8221a0c9a"  // Eric's iPod Touch
                            ];
    [self.addView loadRequest:request];

最后我禁用了位码。并将 ATS(应用程序传输层安全设置)添加到 plist 文件中 任何人请告诉我发生了什么问题,我该如何克服这个问题。 错误日志在这里

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIView setAdUnitID:]: unrecognized selector sent to instance 0x7f88bb51e090'

【问题讨论】:

【参考方案1】:

确保您的 bannerView 已在情节提要中分配了 GADBannerView 类。

您可以在故事板中选择您的横幅视图,然后转到自定义类部分并在类选项中分配 GADBannerView。

这对我有用。

【讨论】:

【参考方案2】:

您的代码似乎没问题,但如果您收到此错误,则意味着您的 addView 变量没有 adUnitId 属性,这意味着它的行为不像 GADBannerView

在 Google 的 example 中,一切都发生在 .m 文件中。在您的代码中,一些 AdMob 在 .h 文件中导入,一些在 .m 文件中。该问题可能与将标头导入错误的位置有关。尝试像 Google 那样做。

【讨论】:

嘿,我从 Google 下载了一个项目,之前我已经添加了 GooGle Admob 几个项目。在这里,我使用 Xcode 7.2 导入了所有与 Google 示例代码完全相同的内容,最后得到了这个错误。昨天我拖了将近 5 个小时,仍然试图弄清楚。

以上是关于Google Admob 无法使用 Objective C 的 Xcode 7.2的主要内容,如果未能解决你的问题,请参考以下文章

Google Admob 广告最近停止展示

Google Admob原生广告

颤振,原生 Admob,广告无法加载:0

无法在 Flash CS6 中加载 Admob ANE

隐藏/切换 iAd 和 AdMob

隐藏/切换 iAd 和 AdMob