2016-07-23 3 views
1

Я произведя 8.0+ игру IOS, используя Xcode 7.3.1, SpriteKit и Swift. Мое приложение продолжает сбой, когда я добавляю в него баннер AdMob.IOS App держит сбой при использовании баннер AdMob

Я довольно много скопировал код баннера здесь: https://firebase.google.com/docs/admob/ios/quick-start

Вот часть моего кода:

class GameViewController: UIViewController, GADBannerViewDelegate{ 

    @IBOutlet var bannerView: GADBannerView! 

    override func viewDidLoad() { 
    super.viewDidLoad() 

    if let scene = GameScene(fileNamed:"GameScene") { 

     let skView = self.view as! SKView 

     skView.ignoresSiblingOrder = true 


     scene.scaleMode = .AspectFill 

     skView.presentScene(scene) 

     let request = GADRequest() 
     bannerView.delegate = self 
     bannerView.adUnitID = "(myAppID)" 
     bannerView.rootViewController = self 
     bannerView.loadRequest(request) 


    } 
    } 
} 

Он отлично работает отлично на любом тренажере, но он выходит из строя приложения на фактическое устройство. Я продолжаю получать эту ошибку:

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 
'*** setObjectForKey: object cannot be nil (key: <f0cdd52e 01000000>)' 
*** First throw call stack: (0x1820b659c 0x19280c0e4 0x181fa11f8 0x1000ed1f8 0x100bbce30 0x100bbcdf0 0x100bc7854 0x100bc0120 0x100bc975c 0x100bcaf18 0x19302d2e4 0x19302cfa8) 
libc++abi.dylib: terminating with uncaught exception of type NSException(lldb) 

Если я удалю часть кода, связанного с рекламным баннером, мое приложение работает отлично.

Любые предложения по тому, что я могу сделать, чтобы исправить это? Кроме того, это моя первая кодировка приложения с помощью Xcode.

Спасибо!

+0

не устанавливайте контейнер с определенным ключом в нуль, найдите линию, в которой он падает, и исправьте его. НАПРИМЕР. словарь ["key"] = сыр, где cheese = nil <- not allowed – Knight0fDragon

+0

@ Knight0fDragon. Это имеет какое-то отношение к valueForKey или что-то в этом роде? – NeoTech

+0

нет, вы устанавливаете ключ, значение для клавиши читается. – Knight0fDragon

ответ

0

Это заняло некоторое время, но я понял это. Я узнал, что проблема была в Google Mobile Ads SDK. Версия 7.9.1, похоже, не работает на iOS 8.0, но хорошо работает на iOS 9. Я предполагаю, что на моем устройстве это не работает, так как я запускал iOS 8 с SDK 7.9.1. В более ранних версиях, таких как 7.8.0, объявления могут легко запускаться на устройствах iOS 8.

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