Приостановка запроса iAd

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

- (void)viewDidLoad{

    [super viewDidLoad];

    self.canDisplayBannerAds = YES;

}

Но я получаю сообщение об ошибке при запуске моей сцены для моей игры, хотя я установил для canDisplayBannerAds значение NO... Я прокомментировал, где начинается ошибка, во время отладки.

- (IBAction)startGame:(id)sender {

    NSLog(@"Start Game triggered");
    adBanner.hidden = 1;
    self.canDisplayBannerAds = NO;

    // Configure the view.
    // Configure the view after it has been sized for the correct orientation.
    skView = (SKView *)self.view;
    if (!skView.scene) {  // the error happens during this if statement
        skView.showsFPS = YES;
        skView.showsNodeCount = YES;

        // Create and configure the scene.
        theScene = [TCAMyScene sceneWithSize:skView.bounds.size];
        theScene.scaleMode = SKSceneScaleModeAspectFill;

        theScene.delegate = self;
        // Present the scene.
        [skView presentScene:theScene];

    }
}

Ошибка:

Завершение работы приложения из-за необработанного исключения «NSInvalidArgumentException», причина: «-[сцена UIView]: нераспознанный селектор отправлен экземпляру 0x16d252a0»

В чем проблема? И как мне это решить?


person 4GetFullOf    schedule 25.02.2014    source источник


Ответы (1)


Свойство self.view вашего контроллера представления не является SKView, это UIView. Возможно, вы назначили представление рекламного баннера в качестве представления контроллера представления, или использование iAd в том же контроллере представления приводит к замене SKView, или ваш файл раскадровки Sprite Kit не использует SKView должным образом.

person LearnCocos2D    schedule 25.02.2014
comment
Вы правы, это заменило SKView, поэтому я добавил следующее, и теперь я в порядке. Спасибо за это! skView = (SKView*)self.originalContentView; - person 4GetFullOf; 26.02.2014