Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios iAd ad关闭会导致应用程序的新实例';s视图控制器_Ios_Xcode_Sprite Kit_Iad - Fatal编程技术网

Ios iAd ad关闭会导致应用程序的新实例';s视图控制器

Ios iAd ad关闭会导致应用程序的新实例';s视图控制器,ios,xcode,sprite-kit,iad,Ios,Xcode,Sprite Kit,Iad,我已经创建了一个SpriteKit游戏,我在主视图控制器中创建了一个横幅广告,然后使用NSNotification Center根据需要隐藏和取消隐藏横幅。这一切在游戏中的任何场景都非常有效 但是如果我点击广告,然后最终关闭它,而不是回到原来的场景,一个新的视图控制器实例被创建,我出现在第一个场景中…就像整个应用程序刚刚重新启动一样 在视图控制器中,横幅广告设置如下: - (void)viewWillLayoutSubviews { [超级视图将布局子视图] self.canD

我已经创建了一个SpriteKit游戏,我在主视图控制器中创建了一个横幅广告,然后使用NSNotification Center根据需要隐藏和取消隐藏横幅。这一切在游戏中的任何场景都非常有效

但是如果我点击广告,然后最终关闭它,而不是回到原来的场景,一个新的视图控制器实例被创建,我出现在第一个场景中…就像整个应用程序刚刚重新启动一样

在视图控制器中,横幅广告设置如下:

    - (void)viewWillLayoutSubviews
{ [超级视图将布局子视图]

    self.canDisplayBannerAds = YES;

    _banner = [[ADBannerView alloc] initWithFrame:CGRectOffset(_banner.frame, 0, 0)];
    _banner.delegate = self;
    _banner.hidden = TRUE;
    [self.view addSubview:_banner];

    // Configure the view.
    SKView * skView = (SKView *)self.originalContentView;

    MainMenu* scene = [MainMenu sceneWithSize:skView.bounds.size];
    scene.scaleMode = SKSceneScaleModeAspectFill;
    [skView presentScene:scene];
以下是委托方法:

    - (void)bannerViewDidLoadAd:(ADBannerView *)banner {

    bannerAdIsLoaded = TRUE;

    NSLog(@"Banner ad is loaded");
}

- (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error {

    bannerAdIsLoaded = FALSE;

    NSLog(@"Failed to receive banner ad");
}

- (BOOL)bannerViewActionShouldBegin:(ADBannerView *)banner   willLeaveApplication:(BOOL)willLeave {
    NSLog(@"Starting banner ad action");

    return YES;
}

- (void)bannerViewActionDidFinish:(ADBannerView *)banner {
    NSLog(@"Banner ad Did Finish");

}


-(void)bannerViewWillLoadAd:(ADBannerView *)banner {
    NSLog(@"Loading a banner ad...");
}

当广告被撤销时,我如何才能让它返回到广告发布的最后一个场景,而不重新启动应用程序?

iAd将于6月30日离开,仅供参考-->切换到admob非常容易。但要回答这个问题,关闭广告应该会自动将您带回到场景,因为当广告被撤销时,您不会发布代码anner完成了,我无法告诉你为什么你会产生一个新的实例据我所知,iAd关闭只会影响开发者向iAd应用程序网络发布广告。仅仅集成广告的开发者不应该受到影响,因为iAd本身并没有关闭