故事板在Xcode9中找不到SKView?

Fat*_*tie 6 storyboard sprite-kit skview xcode9

我在Xcode9,TestScene.sks中有一个普通的.sks文件.

当然,您需要一个SKView来"保持".sks.

如果我以通常的方式在代码中手动构建SKView ,它可以正常工作.(我在这篇文章的底部附上了一个方便的例子.)

但是,在X9中,您只需在故事板中添加SKView即可.

然后只需在Attributes inspect中选择.sks文件....

在此输入图像描述

但.

这是行不通的.我刚收到这个错误:

Main.storyboard: Class Unavailable Xcode.IDEInterfaceBuilder.CocoaTouch.SKView
Run Code Online (Sandbox Code Playgroud)

问题是什么?

SpriteKit.framework包含在Link Binary中......

可能是什么原因?


第1点:对于记录,如何手动添加代码:

func manuallyAddSceneInCode() {

    let sk: SKView = SKView()
    sk.frame = view.bounds
    sk.backgroundColor = .clear
    view.addSubview(sk)

    let scene = SKScene(fileNamed: "TestScene")!
    scene.scaleMode = .aspectFit
    scene.backgroundColor = .clear

    sk.presentScene(scene)
}
Run Code Online (Sandbox Code Playgroud)

第2点 - 正如Knight在下面提到的那样.如果你"只是将常规的UIView和自定义类放到SKView上" - 当然,你没有获得该类的任何"自定义控件".(就像你说自定义类是UILabel的正常UIView一样 - 它在故事板中并不像"UILabel"那样工作.)


第3点 - 奈特似乎在头上钉了一个钉子,确实错误中提到的类是"Xcode.IDEInterfaceBuilder ...."这到底是什么?


第4点,我刚试过9.0.1,同样的问题.

Geo*_*own 1

我刚刚复制了你的错误。该问题似乎与部署目标有关。如果我部署到 iOS 9.0,我会收到错误,如果我将部署目标增加到 iOS 10,错误就会消失。我想故事板到目前为止只支持它。

编辑:

我上传了我的演示项目,您可以检查:

https://github.com/seriouscyrus/SCSpriteKitStoryboard

在 Master 分支中,部署目标是 9.0,当您尝试构建时会出现错误,在 iOS10Deployment 分支中它已修复。无需重新启动任何东西。

另外,我的错误提供了更多信息,“iOS 10.0 之前的 SKView(NSCoding 在以前的版本中被破坏”)。