我只是想在我的新应用中添加广告。
在我的其他应用中,我通过手动将框架复制到项目中来添加广告。但这一次,我决定使用pod 'Firebase/Core'
pod 'Firebase/AdMob'
cocoapod。所以我添加了以下几行:
FIRApp.configure()
我添加了核心,因为我也想要Firebase分析。
通常,在我添加一个pod之后,我会转到项目设置并在" Linked Frameworks and Libraries"中链接新添加的pod。部分。但是当我按下+按钮时,我无法找到框架。所以我没有做到。
然后我只需在App Delegate中设置Firebase:
@IBOutlet var ad: GADBannerView!
该应用运行完美,我可以看到启用了" Firebase分析"控制台中的消息。
之后,我在故事板中添加了广告横幅,就像the guide所说的那样。
然后我控制 - 将广告横幅视图拖到控制器并添加了一个插座:
GADBannerView
现在它说import GoogleMobileAds
未声明。我意识到我忘了导入模块,所以我补充说:
import Firebase
就像导游那样。但仍然说这种类型是未申报的!我清理并重建,但仍然没有运气。
然后我想也许指南犯了一个错误,也许我应该导入Firebase:
GADBannerView
但GADBannerView
仍未声明。
然后发生了最奇怪的事情:我命令+点击GADBannerView.h
查看其定义。然后Xcode成功跳转到@interface GADBannerView : UIView
中的定义并突出显示:
GADBannerView
如果GADMobileAds.configureWithApplicationID
是未声明的类型,我是如何找到定义的?
旁注:
编译器也找不到指南告诉我打电话的方法{{1}}。
答案 0 :(得分:4)
您应该检查几件事:
答案 1 :(得分:1)
您需要将GoogleMobileAds导入您的插座所在的视图控制器。 欢呼声
答案 2 :(得分:0)
我能够通过将use_frameworks!
添加到Podfile来解决此问题。它支持快速动态框架(see blogpost).
作为参考,我使用了Podfile from the sample project:
use_frameworks!
platform :ios, '7.0'
pod 'Firebase/AdMob'
target 'AdMobExample' do
end
target 'AdMobExampleSwift' do
end
target 'AdMobExampleTests' do
end
target 'AdMobExampleSwiftTests' do
end
答案 3 :(得分:0)
我在未声明的GADAdLoader
上遇到了问题。
尝试过FlySoFast的答案,不幸的是,它对我没有用。
需要导入Firebase才能解决我的问题。
我正在使用Google-Mobile-Ads-SDK 7.29.0
答案 4 :(得分:0)
快捷键4:
我必须在视图控制器中导入GoogleMobileAds
import GoogleMobileAds
和在AppDelegate中
import UIKit
import Firebase
import GoogleMobileAds