Storyboard 在 Xcode9 中找不到 SKView?
Storyboard can't find SKView in Xcode9?
我在 Xcode9、TestScene.sks.
中有一个普通的 .sks 文件
当然,你需要一个 SKView 到 "hold" 一个 .sks。
如果我以通常的方式在代码中手动构造 SKView,它工作正常。 (我在 post 的底部提供了一个方便的示例。)
但是,在 X9 中 您可以简单地在故事板中添加一个 SKView。
然后只需在属性检查中选择 .sks 文件....
但是
它不起作用。我刚收到这个错误:
Main.storyboard: Class Unavailable Xcode.IDEInterfaceBuilder.CocoaTouch.SKView
可能是什么问题?
SpriteKit.framework 包含在 Link 二进制文件中...
可能是什么原因?
要点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)
}
第 2 点 - 如 Knight 在下方所问。如果你 "just drop a regular UIView and custom class it to SKView" - 当然,你不会得到 class 的任何 "custom controls"。 (就像你说自定义 class 普通 UIView 到 UILabel - 它不会 "work like" 故事板中的 UILabel。)
第3点-Knight好像是一针见血,确实错误中提到的class是"Xcode.IDEInterfaceBuilder...."那是什么鬼?
第4点,我刚在9.0.1试过,同样的问题。
会不会是您没有将 Spritekit 导入到拥有该视图的视图控制器中?这需要使用 GLKit 视图来完成,即使您 link 库。
(至少在 obj-c 中)
我刚刚复制了你的错误。问题似乎与部署目标有关。如果我部署到 iOS 9.0,我会收到你的错误,如果我将部署目标增加到 iOS 10,错误就会消失。我想情节提要只支持那么远。
编辑:
我上传了我的演示项目,您可以查看:
https://github.com/seriouscyrus/SCSpriteKitStoryboard
在 Master 分支中,部署目标是 9.0,当您尝试构建时出现错误,在 iOS10Deployment 分支中已修复。无需重新启动任何东西。
此外,我的错误提供了更多信息,"SKView before iOS 10.0 (NSCoding was broken in previous versions"。
我在 Xcode9、TestScene.sks.
中有一个普通的 .sks 文件当然,你需要一个 SKView 到 "hold" 一个 .sks。
如果我以通常的方式在代码中手动构造 SKView,它工作正常。 (我在 post 的底部提供了一个方便的示例。)
但是,在 X9 中 您可以简单地在故事板中添加一个 SKView。
然后只需在属性检查中选择 .sks 文件....
但是
它不起作用。我刚收到这个错误:
Main.storyboard: Class Unavailable Xcode.IDEInterfaceBuilder.CocoaTouch.SKView
可能是什么问题?
SpriteKit.framework 包含在 Link 二进制文件中...
可能是什么原因?
要点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)
}
第 2 点 - 如 Knight 在下方所问。如果你 "just drop a regular UIView and custom class it to SKView" - 当然,你不会得到 class 的任何 "custom controls"。 (就像你说自定义 class 普通 UIView 到 UILabel - 它不会 "work like" 故事板中的 UILabel。)
第3点-Knight好像是一针见血,确实错误中提到的class是"Xcode.IDEInterfaceBuilder...."那是什么鬼?
第4点,我刚在9.0.1试过,同样的问题。
会不会是您没有将 Spritekit 导入到拥有该视图的视图控制器中?这需要使用 GLKit 视图来完成,即使您 link 库。
(至少在 obj-c 中)
我刚刚复制了你的错误。问题似乎与部署目标有关。如果我部署到 iOS 9.0,我会收到你的错误,如果我将部署目标增加到 iOS 10,错误就会消失。我想情节提要只支持那么远。
编辑:
我上传了我的演示项目,您可以查看:
https://github.com/seriouscyrus/SCSpriteKitStoryboard
在 Master 分支中,部署目标是 9.0,当您尝试构建时出现错误,在 iOS10Deployment 分支中已修复。无需重新启动任何东西。
此外,我的错误提供了更多信息,"SKView before iOS 10.0 (NSCoding was broken in previous versions"。