2016-07-15 5 views
2

Я просто хотел добавить объявления в новое приложение.Почему GADBannerView не объявлен?

В других моих приложениях я добавил объявления, вручную скопировав фреймворк в проект. Но на этот раз я решил использовать cocoapod Firebase/AdMob. Таким образом, я добавил следующие строки:

Я добавил ядро, потому что также хочу аналитики Firebase.

Обычно, после добавления модуля, я бы пошел в настройки проекта и связал недавно добавленный код в разделе «Связанные рамки и библиотеки». Но я не могу найти фреймворк, когда нажимаю кнопку +. Поэтому я этого не делал.

Тогда я просто настроить Firebase в App Делегат:

FIRApp.configure() 

приложение работает отлично, и я могу видеть «Firebase аналитика включено» сообщение в консоли.

После этого я добавил рекламные баннеры в раскадровку, как сказал the guide.

Тогда я контролирую-перетащил вид баннера объявления к контроллеру и добавил выход:

@IBOutlet var ad: GADBannerView! 

Теперь он говорит GADBannerView не декларируется. Я понял, что забыл импортировать модуль, поэтому добавил:

import GoogleMobileAds 

как раз руководствовался. Но все еще говорит, что тип не объявлен! Я убирал и перестраивал, еще не повезло.

Тогда я подумал, что, может быть, руководство сделало ошибку, может быть, я должен импортировать Firebase вместо:

import Firebase 

Но GADBannerView еще необъявленный.

Тогда произошло самое странное: я команду + щелкнул GADBannerView, чтобы увидеть его определение. А потом Xcode успешно выпрыгнул с определением в GADBannerView.h и подчеркнул:

@interface GADBannerView : UIView 

Если GADBannerView это необъявленная тип, как я нашел определение?

Side Примечание:

Компилятор также не может найти метод GADMobileAds.configureWithApplicationID который гид сказал мне позвонить.

+0

Есть такая же проблема, после добавления 'стручок«Firebase/Crash''. – kelin

ответ

4

Есть несколько вещей, которые вы должны проверить:

  1. Если вы использовал CocoaPods установить SDK, убедитесь, что вы открываете .xcworkspace вместо .xcodeproj
  2. Try удалить Derived Data (Window -> Проект -> Удалить ...), Очистить (Cmd + Shift + K) и Восстановить проект.
  3. Вам действительно не нужно импортировать «Firebase» для создания BannerAd.Вы просто хотите импортировать его в AppDelegate для других преимуществ этой платформы.
+0

Я удалил полученные данные, и теперь, когда я строю, я получаю segfault ... – Sweeper

0

Я смог решить эту проблему, добавив use_frameworks! в подфайл. Это позволяет быстрые динамические рамки (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

У меня был вопрос о uneclared GADAdLoader.

Ответ Tried FlySoFast, это не сработало для меня, к сожалению.

Нужно импортировать Firebase для решения моей проблемы.

Я использую Google-Mobile-Ads-SDK 7.29.0

Смежные вопросы