ios - SpriteKit - iOS 7 - iAd 集成错误

标签 ios objective-c ios7 sprite-kit iad

我正在尝试将 iAd 与我当前的 sprite 工具包项目集成。我已经搜索了现有的问题,其中大部分都说添加

self.canDisplayBannerAds = YES;

将使广告发挥作用。但是,每次我尝试发布的解决方案之一时,我都会收到此错误:

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIView setShowsFPS:]: unrecognized selector sent to instance 0x14dbcc50'

在 Storyboard 中,我尝试将 View 设置为 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;
}
}

我该如何解决这个问题?感谢任何和所有建议!

编辑:

这是我的 Storyboard的屏幕截图,其中选择了 View 。我认为这就是如何使用 Storyboard更改 View 的类。但我仍然遇到同样的错误。

enter image description here

最佳答案

您不是因为横幅广告而崩溃。你快崩溃了

skView.showsFPS = NO;

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

编辑:

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

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

关于ios - SpriteKit - iOS 7 - iAd 集成错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24148045/

相关文章:

objective-c - 我正在尝试用 Objective C 构建一个待办事项列表应用程序,但效果不佳

ios - 如何在 xcode 中使用 ProgressView 显示下载状态

iphone - UIScrollView 上的蒙版叠加

ios7 - SpriteKit 中的缩放和滚动

ios - 在 iOS 7 中禁用 Core Data 中的 iCloud(也称为将持久存储文件迁移到本地)

ios - 存储设置 ios5

ios - 如何在使用 ios7 和 parse.com 的消息传递应用程序中将对话或消息标记为未读?

ios - 在适当的索引处更新字典中的值

ios - 使用 GPUImage 将图像添加到视频

ios - 从 xcassets 加载应用程序图标