Xcode 8 Beta 6中的Strange SceneKit链接器错误

时间:2016-08-26 05:10:23

标签: swift xcode macos scenekit macos-sierra

我最近更新到最新的Xcode 8 beta 6.我以前是测试版4(我认为)。我试图编译我的代码并得到了这个错误:

enter image description here

以下是摘录:

private func setupPlane() {

    // create plane geometry with size and material properties
    let myPlane = SCNPlane(width: 10000.0, height: 10000.0)
    myPlane.firstMaterial!.diffuse.contents = NSColor.orange.cgColor
    myPlane.firstMaterial!.specular.contents = NSColor.white.cgColor

    // intialize noe
    let planeNode = SCNNode()
    // assign plane geometry to the node
    planeNode.geometry = myPlane

    // rotate -90.0 about the x-axis
    let rotMat = SCNMatrix4MakeRotation(-CGFloat(M_PI/3.0), 1.0, 0.0, 0.0)
    planeNode.transform = rotMat
    planeNode.position = SCNVector3Make(0.0, 0.0, 0.0)

    // setup the node's physics body property
    planeNode.physicsBody = SCNPhysicsBody(type: .static, shape: SCNPhysicsShape(geometry: myPlane, options: nil))
    planeNode.physicsBody!.categoryBitMask = PhysicsMask3DOF.plane.rawValue

    // add to scene
    sceneView.scene!.rootNode.addChildNode(planeNode)
}

如果我注释掉分配了物理主体的两行,然后设置了它的类别,则代码将编译为零错误。我不太清楚错误试图暗示的是什么。任何建议都非常感谢。

1 个答案:

答案 0 :(得分:2)

这是编译器中的已知问题。 作为解决方法,您可以使用[:]代替nil

SCNPhysicsShape(geometry: myPlane, options: [:])