2016-07-15 130 views
2

我只是想在我的新應用中添加廣告。爲什麼GADBannerView未申報?

在我的其他應用程序中,我通過手動將框架複製到項目來添加廣告。但是這一次,我決定使用椰子樹的Firebase/AdMob。所以我添加這些行:

pod 'Firebase/Core' 
pod 'Firebase/AdMob' 

我加的核心,因爲我也想火力地堡分析。

通常,在添加一個窗格之後,我會轉到項目設置並鏈接「鏈接的框架和庫」部分中新添加的窗格。但是當我按下+按鈕時,我找不到框架。所以我沒有這樣做。

然後,我剛剛成立火力地堡在App代表:

FIRApp.configure() 

的應用程序完美運行,我可以看到在控制檯「火力地堡分析啓用」消息。

之後,我在故事板中添加了廣告條,就像the guide所說的那樣。

然後我控制拖着橫幅廣告視圖控制器,並增加了出口:

@IBOutlet var ad: GADBannerView! 

現在說GADBannerView是未申報。我意識到我忘了導入模塊,所以我補充說:

import GoogleMobileAds 

就像指南一樣。但它仍然表示類型未申報!我清理和重建,仍然沒有運氣。

然後我想,也許導向犯了一個錯誤,也許我應該代替進口火力地堡:

import Firebase 

GADBannerView依然未申報。

然後最奇怪的事情發生了:我命令+點擊GADBannerView看到它的定義。然後Xcode的成功躍升至定義GADBannerView.h並強調:

@interface GADBannerView : UIView 

如果GADBannerView是一個未聲明類型,我怎麼會找到的定義?

側面說明:

編譯器也無法找到方法GADMobileAds.configureWithApplicationID這導遊告訴我打電話。

+0

添加'pod'Firebase/Crash''後出現同樣的問題。 – kelin

回答

4

有幾件事情你應該檢查:

  1. 如果您使用的CocoaPods安裝SDK,請確保您打開.xcworkspace代替.xcodeproj
  2. 試圖刪除導出的數據(窗口 - >項目 - >刪除...),清理(Cmd + Shift + K)和重建項目。
  3. 您並不需要導入「Firebase」才能製作BannerAd作品。你只是想在AppDelegate中導入它,以獲得這個平臺的其他好處。
+0

我刪除了派生數據,現在每當我建立,我得到一個段錯誤... – Sweeper

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 
1

需要導入GoogleMobileAds到視圖控制器在您的出口是在參考。 歡呼

0

我有一個問題上未申報GADAdLoader

試過FlySoFast的回答,它不適合我。

需要導入Firebase來解決我的問題。

我正在使用Google-Mobile-Ads-SDK 7.29.0