暂停 iAd 请求问题

Posted

技术标签:

【中文标题】暂停 iAd 请求问题【英文标题】:Pausing iAd Request Issue 【发布时间】:2014-02-25 21:13:52 【问题描述】:

所以当我的视图控制器加载时,我开始发送广告横幅请求..

- (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”

有什么问题?我该如何解决这个问题?

【问题讨论】:

【参考方案1】:

您的视图控制器的self.view 属性不是SKView,而是UIView。您可能已将广告横幅视图指定为视图控制器的视图,或者在同一视图控制器中使用 iAd 会导致其替换 SKView,或者您的 Sprite Kit 故事板文件未按应有的方式使用 SKView。

【讨论】:

你的权利它正在替换 SKView 所以我添加了以下内容,我现在很好。感谢那! skView = (SKView*)self.originalContentView;

以上是关于暂停 iAd 请求问题的主要内容,如果未能解决你的问题,请参考以下文章

如何在 POSTMAN 中的 2 个请求之间添加暂停

time.sleep(secs) 可以暂停 QNetworkAccessManager 是不是异步请求?

暂停函数执行流程,直到 ajax 请求完成

长 HTTP 请求会暂停 websocket 数据传输?

urql useQuery 的暂停选项不会暂时冻结请求

如何防止错误“未捕获(承诺中)DOMException:播放()请求被暂停()调用中断。”?