【发布时间】:2014-07-31 15:10:37
【问题描述】:
我正在尝试将 iAd 与我当前的 sprite kit 项目集成。我已经搜索了现有的问题,其中大部分都说添加
self.canDisplayBannerAds = YES;
将使广告发挥作用。但是,每次我尝试发布的解决方案之一时,都会收到此错误:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIView setShowsFPS:]: unrecognized selector sent to instance 0x14dbcc50'
在故事板中,我尝试将视图设置为 SKView。我已将 iAd 框架添加到项目中。
这是我的 viewWillLayoutSubviews 方法:
-(void)viewWillLayoutSubviews{
[super viewWillLayoutSubviews];
// Configure the view.
SKView * skView = (SKView *)self.view;
skView.showsFPS = NO;
skView.showsNodeCount = NO;
if(!skView.scene){
// Create and configure the scene.
SKScene * scene = [Intro sceneWithSize:skView.bounds.size];
scene.scaleMode = SKSceneScaleModeAspectFill;
// Present the scene.
[skView presentScene:scene];
self.canDisplayBannerAds = YES;
}
}
我应该如何解决这个问题?任何和所有的建议都表示赞赏!
编辑:
这是我的故事板的屏幕截图,选择了视图。我认为这是如何使用情节提要更改视图的类。但我仍然遇到同样的错误。
【问题讨论】:
-
您在
SKView * skView = (SKView *)self.view;中的self.view不是SKView,而是UIView。因此出现错误消息:[UIView setShowsFPS:]: unrecognized selector sent to instance。大概您添加了(SKView *)类型转换以消除错误。您不应该这样做 - 您应该首先修复错误。我不是SceneKit专家,但如果您更改了正确的视图,将UIView更改为自定义类SKView应该可以工作。首先,删除类型转换,因为它会混淆问题。其次,您能向我们展示您的完整故事板层次结构吗? -
@RoboticCat 我更新了上面的图片以显示完整的故事板层次结构。
标签: ios objective-c ios7 sprite-kit iad