xcode 6 swift ads GoogleMobileAdsSdkiOS

我正在使用Xcode 6 + Swift。

有人知道如何在Swift项目中集成Google AdsGoogleMobileAdsSdkiOS吗? 如何配置,以及如何编程?

我在项目上创建了一个新文件Teste-Bridging-Header.h ,并根据此参考放置了#import GADBannerView.h

在我的ViewController.swift有一些东西:

 class ViewController: UIViewController { override func viewDidAppear(animated: Bool) { super.viewWillAppear(animated) var adB = GADBannerView() adB.delegate = self adB.rootViewController = self adB.adUnitID = MY_ADS_ID //"ca-app-pub-XXXXXXXX/XXXXXXX" } } 

我正朝着正确的方向前进吗? 我可以举一些例子吗?

 now its working... on .h created Objective-C bridging header I put: #import "GADBannerView.h" #import "GADBannerViewDelegate.h" #import "GADRequest.h" my swift file: class ViewController: UIViewController, GADBannerViewDelegate { override func viewDidAppear(animated: Bool) { super.viewWillAppear(animated) var adB = GADBannerView( frame:CGRectMake(0, 0, 320, 50) ) adB.delegate = self adB.rootViewController = self adB.adUnitID = "ca-app-pub-XXXXXXX/XXXXXXXX" var reqAdB = GADRequest() //reqAdB.testDevices = [ GAD_SIMULATOR_ID ] //not working, dont know why //reqAdB.testDevices = ["Simulator"] //not working, dont know why adB.loadRequest(reqAdB) self.view.addSubview(adB) } } 

我设法通过使用这个来编译和工作:

 override func viewDidAppear(animated: Bool) { super.viewDidAppear(animated) var origin = CGPointMake(0.0, self.view.frame.size.height - CGSizeFromGADAdSize(kGADAdSizeBanner).height); // place at bottom of view var size = GADAdSizeFullWidthPortraitWithHeight(50) // set size to 50 var adB = GADBannerView(adSize: size, origin: origin) // create the banner adB.adUnitID = MY_BANNER_UNIT_ID //"ca-app-pub-XXXXXXXX/XXXXXXX" adB.delegate = self // ?? adB.rootViewController = self // ?? self.view.addSubview(adB) // ?? var request = GADRequest() // create request request.testDevices = [ GAD_SIMULATOR_ID ]; // set it to "test" request adB.loadRequest(request) // actually load it (?) } 

为了使它工作,我必须确保在“Swift编译器 – 代码生成”部分,“Objective-C Bridging Header”字段中包含“ _ -Bridging-Header.h”(带有您的项目名称)(原始的)发布建议)。

您不需要完成所有Objective-C桥接工作。 我也有这个问题,不得不在框架文件中搜索线索。 我发现了一条评论,其中包含更新的定义名称:kDFPSimulatorID

所以只需将其更改为:

 request.testDevices = [kDFPSimulatorID] 

应该管用。