Я произведя 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.
Спасибо!
не устанавливайте контейнер с определенным ключом в нуль, найдите линию, в которой он падает, и исправьте его. НАПРИМЕР. словарь ["key"] = сыр, где cheese = nil <- not allowed – Knight0fDragon
@ Knight0fDragon. Это имеет какое-то отношение к valueForKey или что-то в этом роде? – NeoTech
нет, вы устанавливаете ключ, значение для клавиши читается. – Knight0fDragon