【问题标题】:SpriteKit - iOS 7 - iAd Integration ErrorSpriteKit - iOS 7 - iAd 集成错误
【发布时间】: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


【解决方案1】:

您不会因为横幅广告而崩溃。你在线崩溃了

skView.showsFPS = NO;

因为 self.view 是 UIView 而不是 SKView。

编辑:

这似乎是使用 UIViewController 的 iAD 类别扩展的副作用。您可以使用以下方法检索 SKView:

SKView * skView = (SKView*)self.originalContentView;

【讨论】:

  • 我尝试将视图设置为在情节提要中键入 SKView,但仍然出现相同的错误(请参阅上面的编辑)
  • 您确定您发布的代码位于情节提要中显示的视图控制器中吗?例如,如果您在 xcode 中创建一个默认项目 sprite kit 项目,则它为您提供的视图控制器和情节提要已正确设置为 SKView。
  • 我相信 candisplaybannerads 标志在幕后做了一些事情,它似乎正在用 adbannerview 替换 skview,同样的问题已经被问过几十次了
  • 是的,我很确定上面的代码显示在故事板上,我只是使用了默认的 spritekit 项目。
  • 啊@LearnCocos2D 是正确的。这是添加允许 canDisplayBannerAds 的 iAd 框架类别的特定问题。我已经更新了我的答案。检查此以获取更多详细信息stackoverflow.com/questions/21767155/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多