Documentation Archive Developer
Search

SpriteKit Changes for Swift

SpriteKit

Removed SKShapeNode.getMirror() -> MirrorType
Removed SKSpriteNode.getMirror() -> MirrorType
Removed SKTexture.getMirror() -> MirrorType
Removed SKTextureAtlas.getMirror() -> MirrorType
Removed SKVideoNode.init(videoFileNamed: String!) -> SKVideoNode
Removed SKVideoNode.init(videoURL: NSURL!) -> SKVideoNode
Added SKTexture.CGImage
Added SK_VERSION
Modified SK3DNode
Declaration
From
class SK3DNode : SKNode {
    init(viewportSize viewportSize: CGSize)
    init?(coder aDecoder: NSCoder)
    class func nodeWithViewportSize(_ viewportSize: CGSize) -> Self
    var viewportSize: CGSize
    var scnScene: SCNScene!
    var sceneTime: NSTimeInterval
    func hitTest(_ thePoint: CGPoint, options options: [NSObject : AnyObject]!) -> [AnyObject]!
    var playing: Bool
    var loops: Bool
    var pointOfView: SCNNode!
    var autoenablesDefaultLighting: Bool
}
To
class SK3DNode : SKNode {
    init(viewportSize viewportSize: CGSize)
    init?(coder aDecoder: NSCoder)
    class func nodeWithViewportSize(_ viewportSize: CGSize) -> Self
    var viewportSize: CGSize
    var scnScene: SCNScene?
    var sceneTime: NSTimeInterval
    func hitTest(_ point: CGPoint, options options: [String : AnyObject]?) -> [SCNHitTestResult]
    func projectPoint(_ point: vector_float3) -> vector_float3
    func unprojectPoint(_ point: vector_float3) -> vector_float3
    var playing: Bool
    var loops: Bool
    var pointOfView: SCNNode?
    var autoenablesDefaultLighting: Bool
}

Declaration
From
func hitTest(_ thePoint: CGPoint, options options: [NSObject : AnyObject]!) -> [AnyObject]!
To
func hitTest(_ point: CGPoint, options options: [String : AnyObject]?) -> [SCNHitTestResult]

Declaration
From
var pointOfView: SCNNode!
To
var pointOfView: SCNNode?

Declaration
From
var scnScene: SCNScene!
To
var scnScene: SCNScene?

Modified SKAction
Declaration
From
class SKAction : NSObject, NSCopying, NSCoding {
    var duration: NSTimeInterval
    var timingMode: SKActionTimingMode
    var timingFunction: SKActionTimingFunction?
    var speed: CGFloat
    func reversedAction() -> SKAction
}
extension SKAction {
    class func moveBy(_ delta: CGVector, duration sec: NSTimeInterval) -> SKAction
    class func moveByX(_ deltaX: CGFloat, y deltaY: CGFloat, duration sec: NSTimeInterval) -> SKAction
    class func moveTo(_ location: CGPoint, duration sec: NSTimeInterval) -> SKAction
    class func moveToX(_ x: CGFloat, duration sec: NSTimeInterval) -> SKAction
    class func moveToY(_ y: CGFloat, duration sec: NSTimeInterval) -> SKAction
    class func rotateByAngle(_ radians: CGFloat, duration sec: NSTimeInterval) -> SKAction
    class func rotateToAngle(_ radians: CGFloat, duration sec: NSTimeInterval) -> SKAction
    class func rotateToAngle(_ radians: CGFloat, duration sec: NSTimeInterval, shortestUnitArc shortestUnitArc: Bool) -> SKAction
    class func resizeByWidth(_ width: CGFloat, height height: CGFloat, duration duration: NSTimeInterval) -> SKAction
    class func resizeToWidth(_ width: CGFloat, height height: CGFloat, duration duration: NSTimeInterval) -> SKAction
    class func resizeToWidth(_ width: CGFloat, duration duration: NSTimeInterval) -> SKAction
    class func resizeToHeight(_ height: CGFloat, duration duration: NSTimeInterval) -> SKAction
    class func scaleBy(_ scale: CGFloat, duration sec: NSTimeInterval) -> SKAction
    class func scaleXBy(_ xScale: CGFloat, y yScale: CGFloat, duration sec: NSTimeInterval) -> SKAction
    class func scaleTo(_ scale: CGFloat, duration sec: NSTimeInterval) -> SKAction
    class func scaleXTo(_ xScale: CGFloat, y yScale: CGFloat, duration sec: NSTimeInterval) -> SKAction
    class func scaleXTo(_ scale: CGFloat, duration sec: NSTimeInterval) -> SKAction
    class func scaleYTo(_ scale: CGFloat, duration sec: NSTimeInterval) -> SKAction
    class func sequence(_ actions: [AnyObject]) -> SKAction!
    class func group(_ actions: [AnyObject]) -> SKAction!
    class func repeatAction(_ action: SKAction, count count: Int) -> SKAction
    class func repeatActionForever(_ action: SKAction) -> SKAction
    class func fadeInWithDuration(_ sec: NSTimeInterval) -> SKAction
    class func fadeOutWithDuration(_ sec: NSTimeInterval) -> SKAction
    class func fadeAlphaBy(_ factor: CGFloat, duration sec: NSTimeInterval) -> SKAction
    class func fadeAlphaTo(_ alpha: CGFloat, duration sec: NSTimeInterval) -> SKAction
    class func hide() -> SKAction
    class func unhide() -> SKAction
    class func setTexture(_ texture: SKTexture) -> SKAction
    class func setTexture(_ texture: SKTexture, resize resize: Bool) -> SKAction
    class func animateWithTextures(_ textures: [AnyObject], timePerFrame sec: NSTimeInterval) -> SKAction
    class func animateWithTextures(_ textures: [AnyObject], timePerFrame sec: NSTimeInterval, resize resize: Bool, restore restore: Bool) -> SKAction
    class func playSoundFileNamed(_ soundFile: String, waitForCompletion wait: Bool) -> SKAction
    class func colorizeWithColor(_ color: UIColor, colorBlendFactor colorBlendFactor: CGFloat, duration sec: NSTimeInterval) -> SKAction
    class func colorizeWithColorBlendFactor(_ colorBlendFactor: CGFloat, duration sec: NSTimeInterval) -> SKAction
    class func falloffTo(_ falloff: Float, duration sec: NSTimeInterval) -> SKAction
    class func falloffBy(_ falloff: Float, duration sec: NSTimeInterval) -> SKAction
    class func followPath(_ path: CGPath, duration sec: NSTimeInterval) -> SKAction
    class func followPath(_ path: CGPath, asOffset offset: Bool, orientToPath orient: Bool, duration sec: NSTimeInterval) -> SKAction
    class func followPath(_ path: CGPath, speed speed: CGFloat) -> SKAction
    class func followPath(_ path: CGPath, asOffset offset: Bool, orientToPath orient: Bool, speed speed: CGFloat) -> SKAction
    class func speedBy(_ speed: CGFloat, duration sec: NSTimeInterval) -> SKAction
    class func speedTo(_ speed: CGFloat, duration sec: NSTimeInterval) -> SKAction
    class func reachTo(_ position: CGPoint, rootNode root: SKNode, duration sec: NSTimeInterval) -> SKAction
    class func reachTo(_ position: CGPoint, rootNode root: SKNode, velocity velocity: CGFloat) -> SKAction
    class func reachToNode(_ node: SKNode, rootNode root: SKNode, duration sec: NSTimeInterval) -> SKAction
    class func reachToNode(_ node: SKNode, rootNode root: SKNode, velocity velocity: CGFloat) -> SKAction
    class func strengthTo(_ strength: Float, duration sec: NSTimeInterval) -> SKAction
    class func strengthBy(_ strength: Float, duration sec: NSTimeInterval) -> SKAction
    class func waitForDuration(_ sec: NSTimeInterval) -> SKAction
    class func waitForDuration(_ sec: NSTimeInterval, withRange durationRange: NSTimeInterval) -> SKAction
    class func removeFromParent() -> SKAction
    class func performSelector(_ selector: Selector, onTarget target: AnyObject!) -> SKAction!
    class func runBlock(_ block: dispatch_block_t) -> SKAction
    class func runBlock(_ block: dispatch_block_t, queue queue: dispatch_queue_t?) -> SKAction
    class func runAction(_ action: SKAction, onChildWithName name: String) -> SKAction
    class func customActionWithDuration(_ seconds: NSTimeInterval, actionBlock block: (SKNode!, CGFloat) -> Void) -> SKAction
}
To
class SKAction : NSObject, NSCopying, NSCoding {
    var duration: NSTimeInterval
    var timingMode: SKActionTimingMode
    var timingFunction: SKActionTimingFunction
    var speed: CGFloat
    func reversedAction() -> SKAction
}
extension SKAction {
    class func moveBy(_ delta: CGVector, duration sec: NSTimeInterval) -> SKAction
    class func moveByX(_ deltaX: CGFloat, y deltaY: CGFloat, duration sec: NSTimeInterval) -> SKAction
    class func moveTo(_ location: CGPoint, duration sec: NSTimeInterval) -> SKAction
    class func moveToX(_ x: CGFloat, duration sec: NSTimeInterval) -> SKAction
    class func moveToY(_ y: CGFloat, duration sec: NSTimeInterval) -> SKAction
    class func rotateByAngle(_ radians: CGFloat, duration sec: NSTimeInterval) -> SKAction
    class func rotateToAngle(_ radians: CGFloat, duration sec: NSTimeInterval) -> SKAction
    class func rotateToAngle(_ radians: CGFloat, duration sec: NSTimeInterval, shortestUnitArc shortestUnitArc: Bool) -> SKAction
    class func resizeByWidth(_ width: CGFloat, height height: CGFloat, duration duration: NSTimeInterval) -> SKAction
    class func resizeToWidth(_ width: CGFloat, height height: CGFloat, duration duration: NSTimeInterval) -> SKAction
    class func resizeToWidth(_ width: CGFloat, duration duration: NSTimeInterval) -> SKAction
    class func resizeToHeight(_ height: CGFloat, duration duration: NSTimeInterval) -> SKAction
    class func scaleBy(_ scale: CGFloat, duration sec: NSTimeInterval) -> SKAction
    class func scaleXBy(_ xScale: CGFloat, y yScale: CGFloat, duration sec: NSTimeInterval) -> SKAction
    class func scaleTo(_ scale: CGFloat, duration sec: NSTimeInterval) -> SKAction
    class func scaleXTo(_ xScale: CGFloat, y yScale: CGFloat, duration sec: NSTimeInterval) -> SKAction
    class func scaleXTo(_ scale: CGFloat, duration sec: NSTimeInterval) -> SKAction
    class func scaleYTo(_ scale: CGFloat, duration sec: NSTimeInterval) -> SKAction
    class func sequence(_ actions: [SKAction]) -> SKAction
    class func group(_ actions: [SKAction]) -> SKAction
    class func repeatAction(_ action: SKAction, count count: Int) -> SKAction
    class func repeatActionForever(_ action: SKAction) -> SKAction
    class func fadeInWithDuration(_ sec: NSTimeInterval) -> SKAction
    class func fadeOutWithDuration(_ sec: NSTimeInterval) -> SKAction
    class func fadeAlphaBy(_ factor: CGFloat, duration sec: NSTimeInterval) -> SKAction
    class func fadeAlphaTo(_ alpha: CGFloat, duration sec: NSTimeInterval) -> SKAction
    class func hide() -> SKAction
    class func unhide() -> SKAction
    class func setTexture(_ texture: SKTexture) -> SKAction
    class func setNormalTexture(_ texture: SKTexture) -> SKAction
    class func setTexture(_ texture: SKTexture, resize resize: Bool) -> SKAction
    class func setNormalTexture(_ texture: SKTexture, resize resize: Bool) -> SKAction
    class func animateWithTextures(_ textures: [SKTexture], timePerFrame sec: NSTimeInterval) -> SKAction
    class func animateWithNormalTextures(_ textures: [SKTexture], timePerFrame sec: NSTimeInterval) -> SKAction
    class func animateWithTextures(_ textures: [SKTexture], timePerFrame sec: NSTimeInterval, resize resize: Bool, restore restore: Bool) -> SKAction
    class func animateWithNormalTextures(_ textures: [SKTexture], timePerFrame sec: NSTimeInterval, resize resize: Bool, restore restore: Bool) -> SKAction
    class func playSoundFileNamed(_ soundFile: String, waitForCompletion wait: Bool) -> SKAction
    class func colorizeWithColor(_ color: UIColor, colorBlendFactor colorBlendFactor: CGFloat, duration sec: NSTimeInterval) -> SKAction
    class func colorizeWithColorBlendFactor(_ colorBlendFactor: CGFloat, duration sec: NSTimeInterval) -> SKAction
    class func falloffTo(_ falloff: Float, duration sec: NSTimeInterval) -> SKAction
    class func falloffBy(_ falloff: Float, duration sec: NSTimeInterval) -> SKAction
    class func followPath(_ path: CGPath, duration sec: NSTimeInterval) -> SKAction
    class func followPath(_ path: CGPath, asOffset offset: Bool, orientToPath orient: Bool, duration sec: NSTimeInterval) -> SKAction
    class func followPath(_ path: CGPath, speed speed: CGFloat) -> SKAction
    class func followPath(_ path: CGPath, asOffset offset: Bool, orientToPath orient: Bool, speed speed: CGFloat) -> SKAction
    class func speedBy(_ speed: CGFloat, duration sec: NSTimeInterval) -> SKAction
    class func speedTo(_ speed: CGFloat, duration sec: NSTimeInterval) -> SKAction
    class func reachTo(_ position: CGPoint, rootNode root: SKNode, duration sec: NSTimeInterval) -> SKAction
    class func reachTo(_ position: CGPoint, rootNode root: SKNode, velocity velocity: CGFloat) -> SKAction
    class func reachToNode(_ node: SKNode, rootNode root: SKNode, duration sec: NSTimeInterval) -> SKAction
    class func reachToNode(_ node: SKNode, rootNode root: SKNode, velocity velocity: CGFloat) -> SKAction
    class func strengthTo(_ strength: Float, duration sec: NSTimeInterval) -> SKAction
    class func strengthBy(_ strength: Float, duration sec: NSTimeInterval) -> SKAction
    class func waitForDuration(_ sec: NSTimeInterval) -> SKAction
    class func waitForDuration(_ sec: NSTimeInterval, withRange durationRange: NSTimeInterval) -> SKAction
    class func removeFromParent() -> SKAction
    class func performSelector(_ selector: Selector, onTarget target: AnyObject) -> SKAction
    class func runBlock(_ block: dispatch_block_t) -> SKAction
    class func runBlock(_ block: dispatch_block_t, queue queue: dispatch_queue_t) -> SKAction
    class func runAction(_ action: SKAction, onChildWithName name: String) -> SKAction
    class func customActionWithDuration(_ seconds: NSTimeInterval, actionBlock block: (SKNode, CGFloat) -> Void) -> SKAction
     init?(named name: String)
    class func actionNamed(_ name: String) -> SKAction?
     init?(named name: String, duration sec: NSTimeInterval)
    class func actionNamed(_ name: String, duration sec: NSTimeInterval) -> SKAction?
     init?(named name: String, fromURL url: NSURL)
    class func actionNamed(_ name: String, fromURL url: NSURL) -> SKAction?
     init?(named name: String, fromURL url: NSURL, duration sec: NSTimeInterval)
    class func actionNamed(_ name: String, fromURL url: NSURL, duration sec: NSTimeInterval) -> SKAction?
}
extension SKAction {
    class func changeChargeTo(_ v: Float, duration duration: NSTimeInterval) -> SKAction
    class func changeChargeBy(_ v: Float, duration duration: NSTimeInterval) -> SKAction
    class func changeMassTo(_ v: Float, duration duration: NSTimeInterval) -> SKAction
    class func changeMassBy(_ v: Float, duration duration: NSTimeInterval) -> SKAction
    class func applyForce(_ force: CGVector, duration sec: NSTimeInterval) -> SKAction
    class func applyForce(_ force: CGVector, atPoint point: CGPoint, duration sec: NSTimeInterval) -> SKAction
    class func applyTorque(_ torque: CGFloat, duration sec: NSTimeInterval) -> SKAction
    class func applyImpulse(_ impulse: CGVector, duration sec: NSTimeInterval) -> SKAction
    class func applyImpulse(_ impulse: CGVector, atPoint point: CGPoint, duration sec: NSTimeInterval) -> SKAction
    class func applyAngularImpulse(_ impulse: CGFloat, duration sec: NSTimeInterval) -> SKAction
}
extension SKAction {
    class func play() -> SKAction
    class func pause() -> SKAction
    class func stop() -> SKAction
    class func changePlaybackRateTo(_ v: Float, duration duration: NSTimeInterval) -> SKAction
    class func changePlaybackRateBy(_ v: Float, duration duration: NSTimeInterval) -> SKAction
}
extension SKAction {
    class func changeVolumeTo(_ v: Float, duration duration: NSTimeInterval) -> SKAction
    class func changeVolumeBy(_ v: Float, duration duration: NSTimeInterval) -> SKAction
}
extension SKAction {
    class func stereoPanTo(_ v: Float, duration duration: NSTimeInterval) -> SKAction
    class func stereoPanBy(_ v: Float, duration duration: NSTimeInterval) -> SKAction
    class func changeReverbTo(_ v: Float, duration duration: NSTimeInterval) -> SKAction
    class func changeReverbBy(_ v: Float, duration duration: NSTimeInterval) -> SKAction
    class func changeObstructionTo(_ v: Float, duration duration: NSTimeInterval) -> SKAction
    class func changeObstructionBy(_ v: Float, duration duration: NSTimeInterval) -> SKAction
    class func changeOcclusionTo(_ v: Float, duration duration: NSTimeInterval) -> SKAction
    class func changeOcclusionBy(_ v: Float, duration duration: NSTimeInterval) -> SKAction
}

Declaration
From
class func animateWithTextures(_ textures: [AnyObject], timePerFrame sec: NSTimeInterval) -> SKAction
To
class func animateWithTextures(_ textures: [SKTexture], timePerFrame sec: NSTimeInterval) -> SKAction

Declaration
From
class func animateWithTextures(_ textures: [AnyObject], timePerFrame sec: NSTimeInterval, resize resize: Bool, restore restore: Bool) -> SKAction
To
class func animateWithTextures(_ textures: [SKTexture], timePerFrame sec: NSTimeInterval, resize resize: Bool, restore restore: Bool) -> SKAction

Declaration
From
class func customActionWithDuration(_ seconds: NSTimeInterval, actionBlock block: (SKNode!, CGFloat) -> Void) -> SKAction
To
class func customActionWithDuration(_ seconds: NSTimeInterval, actionBlock block: (SKNode, CGFloat) -> Void) -> SKAction

Declaration
From
class func group(_ actions: [AnyObject]) -> SKAction!
To
class func group(_ actions: [SKAction]) -> SKAction

Declaration
From
class func runBlock(_ block: dispatch_block_t, queue queue: dispatch_queue_t?) -> SKAction
To
class func runBlock(_ block: dispatch_block_t, queue queue: dispatch_queue_t) -> SKAction

Declaration
From
class func sequence(_ actions: [AnyObject]) -> SKAction!
To
class func sequence(_ actions: [SKAction]) -> SKAction

Introduction
FromiOS 8.0
ToiOS 7.1

Introduction
FromiOS 8.0
ToiOS 7.1

Declaration
From
var timingFunction: SKActionTimingFunction?
To
var timingFunction: SKActionTimingFunction

Raw Value Type
From--
ToInt

Raw Value Type
From--
ToInt

Modified SKConstraint
Declaration
From
class SKConstraint : NSObject, NSCoding, NSCopying {
    var enabled: Bool
    var referenceNode: SKNode?
    class func positionX(_ range: SKRange) -> Self
    class func positionY(_ range: SKRange) -> Self
    class func positionX(_ xRange: SKRange, y yRange: SKRange) -> Self
    class func distance(_ range: SKRange!, toNode node: SKNode!) -> Self
    class func distance(_ range: SKRange, toPoint point: CGPoint) -> Self
    class func distance(_ range: SKRange, toPoint point: CGPoint, inNode node: SKNode) -> Self
    class func zRotation(_ zRange: SKRange) -> Self
    class func orientToNode(_ node: SKNode, offset radians: SKRange) -> Self
    class func orientToPoint(_ point: CGPoint, offset radians: SKRange) -> Self
    class func orientToPoint(_ point: CGPoint, inNode node: SKNode, offset radians: SKRange) -> Self
}
To
class SKConstraint : NSObject, NSCoding, NSCopying {
    var enabled: Bool
    var referenceNode: SKNode?
    class func positionX(_ range: SKRange) -> Self
    class func positionY(_ range: SKRange) -> Self
    class func positionX(_ xRange: SKRange, y yRange: SKRange) -> Self
    class func distance(_ range: SKRange, toNode node: SKNode) -> Self
    class func distance(_ range: SKRange, toPoint point: CGPoint) -> Self
    class func distance(_ range: SKRange, toPoint point: CGPoint, inNode node: SKNode) -> Self
    class func zRotation(_ zRange: SKRange) -> Self
    class func orientToNode(_ node: SKNode, offset radians: SKRange) -> Self
    class func orientToPoint(_ point: CGPoint, offset radians: SKRange) -> Self
    class func orientToPoint(_ point: CGPoint, inNode node: SKNode, offset radians: SKRange) -> Self
}

Declaration
From
class func distance(_ range: SKRange!, toNode node: SKNode!) -> Self
To
class func distance(_ range: SKRange, toNode node: SKNode) -> Self

Modified SKEmitterNode
Declaration
From
class SKEmitterNode : SKNode {
    func advanceSimulationTime(_ sec: NSTimeInterval)
    func resetSimulation()
    var particleTexture: SKTexture?
    var particleZPosition: CGFloat
    var particleZPositionRange: CGFloat
    var particleZPositionSpeed: CGFloat
    var particleBlendMode: SKBlendMode
    var particleColor: UIColor!
    var particleColorRedRange: CGFloat
    var particleColorGreenRange: CGFloat
    var particleColorBlueRange: CGFloat
    var particleColorAlphaRange: CGFloat
    var particleColorRedSpeed: CGFloat
    var particleColorGreenSpeed: CGFloat
    var particleColorBlueSpeed: CGFloat
    var particleColorAlphaSpeed: CGFloat
    var particleColorSequence: SKKeyframeSequence?
    var particleColorBlendFactor: CGFloat
    var particleColorBlendFactorRange: CGFloat
    var particleColorBlendFactorSpeed: CGFloat
    var particleColorBlendFactorSequence: SKKeyframeSequence?
    var particlePosition: CGPoint
    var particlePositionRange: CGVector
    var particleSpeed: CGFloat
    var particleSpeedRange: CGFloat
    var emissionAngle: CGFloat
    var emissionAngleRange: CGFloat
    var xAcceleration: CGFloat
    var yAcceleration: CGFloat
    var particleBirthRate: CGFloat
    var numParticlesToEmit: Int
    var particleLifetime: CGFloat
    var particleLifetimeRange: CGFloat
    var particleRotation: CGFloat
    var particleRotationRange: CGFloat
    var particleRotationSpeed: CGFloat
    var particleSize: CGSize
    var particleScale: CGFloat
    var particleScaleRange: CGFloat
    var particleScaleSpeed: CGFloat
    var particleScaleSequence: SKKeyframeSequence?
    var particleAlpha: CGFloat
    var particleAlphaRange: CGFloat
    var particleAlphaSpeed: CGFloat
    var particleAlphaSequence: SKKeyframeSequence?
    @NSCopying var particleAction: SKAction?
    var fieldBitMask: UInt32
    weak var targetNode: SKNode?
    var shader: SKShader?
}
To
class SKEmitterNode : SKNode {
    func advanceSimulationTime(_ sec: NSTimeInterval)
    func resetSimulation()
    var particleTexture: SKTexture?
    var particleBlendMode: SKBlendMode
    var particleColor: UIColor
    var particleColorRedRange: CGFloat
    var particleColorGreenRange: CGFloat
    var particleColorBlueRange: CGFloat
    var particleColorAlphaRange: CGFloat
    var particleColorRedSpeed: CGFloat
    var particleColorGreenSpeed: CGFloat
    var particleColorBlueSpeed: CGFloat
    var particleColorAlphaSpeed: CGFloat
    var particleColorSequence: SKKeyframeSequence?
    var particleColorBlendFactor: CGFloat
    var particleColorBlendFactorRange: CGFloat
    var particleColorBlendFactorSpeed: CGFloat
    var particleColorBlendFactorSequence: SKKeyframeSequence?
    var particlePosition: CGPoint
    var particlePositionRange: CGVector
    var particleSpeed: CGFloat
    var particleSpeedRange: CGFloat
    var emissionAngle: CGFloat
    var emissionAngleRange: CGFloat
    var xAcceleration: CGFloat
    var yAcceleration: CGFloat
    var particleBirthRate: CGFloat
    var numParticlesToEmit: Int
    var particleLifetime: CGFloat
    var particleLifetimeRange: CGFloat
    var particleRotation: CGFloat
    var particleRotationRange: CGFloat
    var particleRotationSpeed: CGFloat
    var particleSize: CGSize
    var particleScale: CGFloat
    var particleScaleRange: CGFloat
    var particleScaleSpeed: CGFloat
    var particleScaleSequence: SKKeyframeSequence?
    var particleAlpha: CGFloat
    var particleAlphaRange: CGFloat
    var particleAlphaSpeed: CGFloat
    var particleAlphaSequence: SKKeyframeSequence?
    @NSCopying var particleAction: SKAction?
    var fieldBitMask: UInt32
    weak var targetNode: SKNode?
    var shader: SKShader?
    var particleZPosition: CGFloat
    var particleRenderOrder: SKParticleRenderOrder
    var particleZPositionRange: CGFloat
    var particleZPositionSpeed: CGFloat
}

Declaration
From
var particleColor: UIColor!
To
var particleColor: UIColor

IntroductionDeprecation
FromiOS 8.0--
ToiOS 7.0iOS 8.0

IntroductionDeprecation
FromiOS 8.0--
ToiOS 7.0iOS 8.0

Modified SKFieldNode
Declaration
From
class SKFieldNode : SKNode {
    var region: SKRegion!
    var strength: Float
    var falloff: Float
    var minimumRadius: Float
    var enabled: Bool
    var exclusive: Bool
    var categoryBitMask: UInt32
    var smoothness: Float
    var animationSpeed: Float
    var texture: SKTexture!
    class func dragField() -> SKFieldNode
    class func vortexField() -> SKFieldNode
    class func radialGravityField() -> SKFieldNode
    class func velocityFieldWithTexture(_ velocityTexture: SKTexture) -> SKFieldNode
    class func noiseFieldWithSmoothness(_ smoothness: CGFloat, animationSpeed speed: CGFloat) -> SKFieldNode
    class func turbulenceFieldWithSmoothness(_ smoothness: CGFloat, animationSpeed speed: CGFloat) -> SKFieldNode
    class func springField() -> SKFieldNode
    class func electricField() -> SKFieldNode
    class func magneticField() -> SKFieldNode
}
To
class SKFieldNode : SKNode {
    var region: SKRegion?
    var strength: Float
    var falloff: Float
    var minimumRadius: Float
    var enabled: Bool
    var exclusive: Bool
    var categoryBitMask: UInt32
    var direction: vector_float3
    var smoothness: Float
    var animationSpeed: Float
    var texture: SKTexture?
    class func dragField() -> SKFieldNode
    class func vortexField() -> SKFieldNode
    class func radialGravityField() -> SKFieldNode
    class func linearGravityFieldWithVector(_ direction: vector_float3) -> SKFieldNode
    class func velocityFieldWithVector(_ direction: vector_float3) -> SKFieldNode
    class func velocityFieldWithTexture(_ velocityTexture: SKTexture) -> SKFieldNode
    class func noiseFieldWithSmoothness(_ smoothness: CGFloat, animationSpeed speed: CGFloat) -> SKFieldNode
    class func turbulenceFieldWithSmoothness(_ smoothness: CGFloat, animationSpeed speed: CGFloat) -> SKFieldNode
    class func springField() -> SKFieldNode
    class func electricField() -> SKFieldNode
    class func magneticField() -> SKFieldNode
    class func customFieldWithEvaluationBlock(_ block: SKFieldForceEvaluator) -> SKFieldNode
}

Declaration
From
var region: SKRegion!
To
var region: SKRegion?

Declaration
From
var texture: SKTexture!
To
var texture: SKTexture?

Raw Value Type
From--
ToInt

Declaration
From
class SKKeyframeSequence : NSObject, NSCoding, NSCopying {
    init!(keyframeValues values: [AnyObject], times times: [AnyObject])
    convenience init(capacity numItems: Int)
    init?(coder aDecoder: NSCoder)
    func count() -> Int
    func addKeyframeValue(_ value: AnyObject, time time: CGFloat)
    func removeLastKeyframe()
    func removeKeyframeAtIndex(_ index: Int)
    func setKeyframeValue(_ value: AnyObject, forIndex index: Int)
    func setKeyframeTime(_ time: CGFloat, forIndex index: Int)
    func setKeyframeValue(_ value: AnyObject, time time: CGFloat, forIndex index: Int)
    func getKeyframeValueForIndex(_ index: Int) -> AnyObject
    func getKeyframeTimeForIndex(_ index: Int) -> CGFloat
    func sampleAtTime(_ time: CGFloat) -> AnyObject!
    var interpolationMode: SKInterpolationMode
    var repeatMode: SKRepeatMode
}
To
class SKKeyframeSequence : NSObject, NSCoding, NSCopying {
    init(keyframeValues values: [AnyObject], times times: [NSNumber])
    convenience init(capacity numItems: Int)
    init?(coder aDecoder: NSCoder)
    func count() -> Int
    func addKeyframeValue(_ value: AnyObject, time time: CGFloat)
    func removeLastKeyframe()
    func removeKeyframeAtIndex(_ index: Int)
    func setKeyframeValue(_ value: AnyObject, forIndex index: Int)
    func setKeyframeTime(_ time: CGFloat, forIndex index: Int)
    func setKeyframeValue(_ value: AnyObject, time time: CGFloat, forIndex index: Int)
    func getKeyframeValueForIndex(_ index: Int) -> AnyObject
    func getKeyframeTimeForIndex(_ index: Int) -> CGFloat
    func sampleAtTime(_ time: CGFloat) -> AnyObject?
    var interpolationMode: SKInterpolationMode
    var repeatMode: SKRepeatMode
}

Declaration
From
init!(keyframeValues values: [AnyObject], times times: [AnyObject])
To
init(keyframeValues values: [AnyObject], times times: [NSNumber])

Declaration
From
func sampleAtTime(_ time: CGFloat) -> AnyObject!
To
func sampleAtTime(_ time: CGFloat) -> AnyObject?

Raw Value Type
From--
ToInt

Modified SKLabelNode
Declaration
From
class SKLabelNode : SKNode {
    convenience init(text text: String)
    class func labelNodeWithText(_ text: String) -> Self
    convenience init!(fontNamed fontName: String!)
    class func labelNodeWithFontNamed(_ fontName: String!) -> Self!
    init(fontNamed fontName: String!)
    var verticalAlignmentMode: SKLabelVerticalAlignmentMode
    var horizontalAlignmentMode: SKLabelHorizontalAlignmentMode
    var fontName: String!
    var text: String
    var fontSize: CGFloat
    var fontColor: UIColor
    var colorBlendFactor: CGFloat
    var color: UIColor?
    var blendMode: SKBlendMode
}
To
class SKLabelNode : SKNode {
    convenience init(text text: String?)
    class func labelNodeWithText(_ text: String?) -> Self
    convenience init(fontNamed fontName: String?)
    class func labelNodeWithFontNamed(_ fontName: String?) -> Self
    init(fontNamed fontName: String?)
    var verticalAlignmentMode: SKLabelVerticalAlignmentMode
    var horizontalAlignmentMode: SKLabelHorizontalAlignmentMode
    var fontName: String?
    var text: String?
    var fontSize: CGFloat
    var fontColor: UIColor?
    var colorBlendFactor: CGFloat
    var color: UIColor?
    var blendMode: SKBlendMode
}

Declaration
From
var fontColor: UIColor
To
var fontColor: UIColor?

Declaration
From
var fontName: String!
To
var fontName: String?

Declaration
From
init(fontNamed fontName: String!)
To
init(fontNamed fontName: String?)

Declaration
From
convenience init(text text: String)
To
convenience init(text text: String?)

Declaration
From
var text: String
To
var text: String?

Raw Value Type
From--
ToInt

Modified SKLightNode
Declaration
From
class SKLightNode : SKNode {
    var enabled: Bool
    var lightColor: UIColor
    var ambientColor: UIColor!
    var shadowColor: UIColor!
    var falloff: CGFloat
    var categoryBitMask: UInt32
}
To
class SKLightNode : SKNode {
    var enabled: Bool
    var lightColor: UIColor
    var ambientColor: UIColor
    var shadowColor: UIColor
    var falloff: CGFloat
    var categoryBitMask: UInt32
}

Declaration
From
var ambientColor: UIColor!
To
var ambientColor: UIColor

Declaration
From
var shadowColor: UIColor!
To
var shadowColor: UIColor

Modified SKNode
Declaration
From
class SKNode : UIResponder, NSCopying, NSCoding {
    init()
    init?(coder aDecoder: NSCoder)
    class func node() -> Self
    convenience init!(fileNamed filename: String)
    class func nodeWithFileNamed(_ filename: String) -> Self!
    var frame: CGRect { get }
    func calculateAccumulatedFrame() -> CGRect
    var position: CGPoint
    var zPosition: CGFloat
    var zRotation: CGFloat
    var xScale: CGFloat
    var yScale: CGFloat
    var speed: CGFloat
    var alpha: CGFloat
    var paused: Bool
    var hidden: Bool
    var userInteractionEnabled: Bool
    var parent: SKNode? { get }
    var children: [AnyObject] { get }
    var name: String?
    var scene: SKScene? { get }
    var physicsBody: SKPhysicsBody?
    var userData: NSMutableDictionary?
    @NSCopying var reachConstraints: SKReachConstraints?
    var constraints: [AnyObject]?
    func setScale(_ scale: CGFloat)
    func addChild(_ node: SKNode)
    func insertChild(_ node: SKNode!, atIndex index: Int)
    func removeChildrenInArray(_ nodes: [AnyObject]!)
    func removeAllChildren()
    func removeFromParent()
    func childNodeWithName(_ name: String) -> SKNode?
    func enumerateChildNodesWithName(_ name: String, usingBlock block: ((SKNode!, UnsafeMutablePointer<ObjCBool>) -> Void)!)
    func objectForKeyedSubscript(_ name: String) -> [AnyObject]
    func inParentHierarchy(_ parent: SKNode) -> Bool
    func runAction(_ action: SKAction!)
    func runAction(_ action: SKAction!, completion block: (() -> Void)!)
    func runAction(_ action: SKAction, withKey key: String!)
    func hasActions() -> Bool
    func actionForKey(_ key: String) -> SKAction?
    func removeActionForKey(_ key: String!)
    func removeAllActions()
    func containsPoint(_ p: CGPoint) -> Bool
    func nodeAtPoint(_ p: CGPoint) -> SKNode
    func nodesAtPoint(_ p: CGPoint) -> [AnyObject]
    func convertPoint(_ point: CGPoint, fromNode node: SKNode) -> CGPoint
    func convertPoint(_ point: CGPoint, toNode node: SKNode) -> CGPoint
    func intersectsNode(_ node: SKNode) -> Bool
    func isEqualToNode(_ node: SKNode!) -> Bool
}
extension SKNode {
    subscript (name: String) -> [SKNode] { get }
}
extension SKNode {
    subscript (name: String) -> [SKNode] { get }
}
To
class SKNode : UIResponder, NSCopying, NSCoding {
    init()
    init?(coder aDecoder: NSCoder)
    class func node() -> Self
    convenience init?(fileNamed filename: String)
    class func nodeWithFileNamed(_ filename: String) -> Self?
    var frame: CGRect { get }
    func calculateAccumulatedFrame() -> CGRect
    var position: CGPoint
    var zPosition: CGFloat
    var zRotation: CGFloat
    var xScale: CGFloat
    var yScale: CGFloat
    var speed: CGFloat
    var alpha: CGFloat
    var paused: Bool
    var hidden: Bool
    var userInteractionEnabled: Bool
    var parent: SKNode? { get }
    var children: [SKNode] { get }
    var name: String?
    var scene: SKScene? { get }
    var physicsBody: SKPhysicsBody?
    var userData: NSMutableDictionary?
    @NSCopying var reachConstraints: SKReachConstraints?
    var constraints: [SKConstraint]?
    func setScale(_ scale: CGFloat)
    func addChild(_ node: SKNode)
    func insertChild(_ node: SKNode, atIndex index: Int)
    func removeChildrenInArray(_ nodes: [SKNode])
    func removeAllChildren()
    func removeFromParent()
    func moveToParent(_ parent: SKNode)
    func childNodeWithName(_ name: String) -> SKNode?
    func enumerateChildNodesWithName(_ name: String, usingBlock block: (SKNode, UnsafeMutablePointer<ObjCBool>) -> Void)
    func objectForKeyedSubscript(_ name: String) -> [SKNode]
    func inParentHierarchy(_ parent: SKNode) -> Bool
    func runAction(_ action: SKAction)
    func runAction(_ action: SKAction, completion block: () -> Void)
    func runAction(_ action: SKAction, withKey key: String)
    func hasActions() -> Bool
    func actionForKey(_ key: String) -> SKAction?
    func removeActionForKey(_ key: String)
    func removeAllActions()
    func containsPoint(_ p: CGPoint) -> Bool
    func nodeAtPoint(_ p: CGPoint) -> SKNode
    func nodesAtPoint(_ p: CGPoint) -> [SKNode]
    func convertPoint(_ point: CGPoint, fromNode node: SKNode) -> CGPoint
    func convertPoint(_ point: CGPoint, toNode node: SKNode) -> CGPoint
    func intersectsNode(_ node: SKNode) -> Bool
    func isEqualToNode(_ node: SKNode) -> Bool
    class func obstaclesFromSpriteTextures(_ sprites: [SKNode], accuracy accuracy: Float) -> [GKPolygonObstacle]
    class func obstaclesFromNodeBounds(_ nodes: [SKNode]) -> [GKPolygonObstacle]
    class func obstaclesFromNodePhysicsBodies(_ nodes: [SKNode]) -> [GKPolygonObstacle]
}
extension SKNode {
    subscript (_ name: String) -> [SKNode] { get }
}
extension SKNode {
    subscript (_ name: String) -> [SKNode] { get }
}

Declaration
From
var children: [AnyObject] { get }
To
var children: [SKNode] { get }

Declaration
From
var constraints: [AnyObject]?
To
var constraints: [SKConstraint]?

Declaration
From
func enumerateChildNodesWithName(_ name: String, usingBlock block: ((SKNode!, UnsafeMutablePointer<ObjCBool>) -> Void)!)
To
func enumerateChildNodesWithName(_ name: String, usingBlock block: (SKNode, UnsafeMutablePointer<ObjCBool>) -> Void)

Declaration
From
convenience init!(fileNamed filename: String)
To
convenience init?(fileNamed filename: String)

Declaration
From
func insertChild(_ node: SKNode!, atIndex index: Int)
To
func insertChild(_ node: SKNode, atIndex index: Int)

Declaration
From
func isEqualToNode(_ node: SKNode!) -> Bool
To
func isEqualToNode(_ node: SKNode) -> Bool

Declaration
From
func nodesAtPoint(_ p: CGPoint) -> [AnyObject]
To
func nodesAtPoint(_ p: CGPoint) -> [SKNode]

Declaration
From
func removeActionForKey(_ key: String!)
To
func removeActionForKey(_ key: String)

Declaration
From
func removeChildrenInArray(_ nodes: [AnyObject]!)
To
func removeChildrenInArray(_ nodes: [SKNode])

Declaration
From
func runAction(_ action: SKAction!)
To
func runAction(_ action: SKAction)

Declaration
From
func runAction(_ action: SKAction!, completion block: (() -> Void)!)
To
func runAction(_ action: SKAction, completion block: () -> Void)

Declaration
From
func runAction(_ action: SKAction, withKey key: String!)
To
func runAction(_ action: SKAction, withKey key: String)

Modified SKNode.subscript(_: String) -> [SKNode]
Declaration
From
subscript (name: String) -> [SKNode] { get }
To
subscript (_ name: String) -> [SKNode] { get }

Modified SKPhysicsBody
Declaration
From
class SKPhysicsBody : NSObject, NSCopying, NSCoding {
    init(circleOfRadius r: CGFloat) -> SKPhysicsBody
    class func bodyWithCircleOfRadius(_ r: CGFloat) -> SKPhysicsBody
    init(circleOfRadius r: CGFloat, center center: CGPoint) -> SKPhysicsBody
    class func bodyWithCircleOfRadius(_ r: CGFloat, center center: CGPoint) -> SKPhysicsBody
    init!(rectangleOfSize s: CGSize) -> SKPhysicsBody
    class func bodyWithRectangleOfSize(_ s: CGSize) -> SKPhysicsBody!
    init!(rectangleOfSize s: CGSize, center center: CGPoint) -> SKPhysicsBody
    class func bodyWithRectangleOfSize(_ s: CGSize, center center: CGPoint) -> SKPhysicsBody!
    init!(polygonFromPath path: CGPath!) -> SKPhysicsBody
    class func bodyWithPolygonFromPath(_ path: CGPath!) -> SKPhysicsBody!
    init(edgeFromPoint p1: CGPoint, toPoint p2: CGPoint) -> SKPhysicsBody
    class func bodyWithEdgeFromPoint(_ p1: CGPoint, toPoint p2: CGPoint) -> SKPhysicsBody
    init(edgeChainFromPath path: CGPath!) -> SKPhysicsBody
    class func bodyWithEdgeChainFromPath(_ path: CGPath!) -> SKPhysicsBody
    init(edgeLoopFromPath path: CGPath!) -> SKPhysicsBody
    class func bodyWithEdgeLoopFromPath(_ path: CGPath!) -> SKPhysicsBody
    init(edgeLoopFromRect rect: CGRect) -> SKPhysicsBody
    class func bodyWithEdgeLoopFromRect(_ rect: CGRect) -> SKPhysicsBody
    init!(texture texture: SKTexture!, size size: CGSize) -> SKPhysicsBody
    class func bodyWithTexture(_ texture: SKTexture!, size size: CGSize) -> SKPhysicsBody!
    init!(texture texture: SKTexture!, alphaThreshold alphaThreshold: Float, size size: CGSize) -> SKPhysicsBody
    class func bodyWithTexture(_ texture: SKTexture!, alphaThreshold alphaThreshold: Float, size size: CGSize) -> SKPhysicsBody!
    init(bodies bodies: [AnyObject]) -> SKPhysicsBody
    class func bodyWithBodies(_ bodies: [AnyObject]) -> SKPhysicsBody
    var dynamic: Bool
    var usesPreciseCollisionDetection: Bool
    var allowsRotation: Bool
    var pinned: Bool
    var resting: Bool
    var friction: CGFloat
    var charge: CGFloat
    var restitution: CGFloat
    var linearDamping: CGFloat
    var angularDamping: CGFloat
    var density: CGFloat
    var mass: CGFloat
    var area: CGFloat { get }
    var affectedByGravity: Bool
    var fieldBitMask: UInt32
    var categoryBitMask: UInt32
    var collisionBitMask: UInt32
    var contactTestBitMask: UInt32
    var joints: [AnyObject] { get }
    weak var node: SKNode? { get }
    var velocity: CGVector
    var angularVelocity: CGFloat
    func applyForce(_ force: CGVector)
    func applyForce(_ force: CGVector, atPoint point: CGPoint)
    func applyTorque(_ torque: CGFloat)
    func applyImpulse(_ impulse: CGVector)
    func applyImpulse(_ impulse: CGVector, atPoint point: CGPoint)
    func applyAngularImpulse(_ impulse: CGFloat)
    func allContactedBodies() -> [AnyObject]
}
To
class SKPhysicsBody : NSObject, NSCopying, NSCoding {
     init(circleOfRadius r: CGFloat)
    class func bodyWithCircleOfRadius(_ r: CGFloat) -> SKPhysicsBody
     init(circleOfRadius r: CGFloat, center center: CGPoint)
    class func bodyWithCircleOfRadius(_ r: CGFloat, center center: CGPoint) -> SKPhysicsBody
     init(rectangleOfSize s: CGSize)
    class func bodyWithRectangleOfSize(_ s: CGSize) -> SKPhysicsBody
     init(rectangleOfSize s: CGSize, center center: CGPoint)
    class func bodyWithRectangleOfSize(_ s: CGSize, center center: CGPoint) -> SKPhysicsBody
     init(polygonFromPath path: CGPath)
    class func bodyWithPolygonFromPath(_ path: CGPath) -> SKPhysicsBody
     init(edgeFromPoint p1: CGPoint, toPoint p2: CGPoint)
    class func bodyWithEdgeFromPoint(_ p1: CGPoint, toPoint p2: CGPoint) -> SKPhysicsBody
     init(edgeChainFromPath path: CGPath)
    class func bodyWithEdgeChainFromPath(_ path: CGPath) -> SKPhysicsBody
     init(edgeLoopFromPath path: CGPath)
    class func bodyWithEdgeLoopFromPath(_ path: CGPath) -> SKPhysicsBody
     init(edgeLoopFromRect rect: CGRect)
    class func bodyWithEdgeLoopFromRect(_ rect: CGRect) -> SKPhysicsBody
     init(texture texture: SKTexture, size size: CGSize)
    class func bodyWithTexture(_ texture: SKTexture, size size: CGSize) -> SKPhysicsBody
     init(texture texture: SKTexture, alphaThreshold alphaThreshold: Float, size size: CGSize)
    class func bodyWithTexture(_ texture: SKTexture, alphaThreshold alphaThreshold: Float, size size: CGSize) -> SKPhysicsBody
     init(bodies bodies: [SKPhysicsBody])
    class func bodyWithBodies(_ bodies: [SKPhysicsBody]) -> SKPhysicsBody
    var dynamic: Bool
    var usesPreciseCollisionDetection: Bool
    var allowsRotation: Bool
    var pinned: Bool
    var resting: Bool
    var friction: CGFloat
    var charge: CGFloat
    var restitution: CGFloat
    var linearDamping: CGFloat
    var angularDamping: CGFloat
    var density: CGFloat
    var mass: CGFloat
    var area: CGFloat { get }
    var affectedByGravity: Bool
    var fieldBitMask: UInt32
    var categoryBitMask: UInt32
    var collisionBitMask: UInt32
    var contactTestBitMask: UInt32
    var joints: [SKPhysicsJoint] { get }
    weak var node: SKNode? { get }
    var velocity: CGVector
    var angularVelocity: CGFloat
    func applyForce(_ force: CGVector)
    func applyForce(_ force: CGVector, atPoint point: CGPoint)
    func applyTorque(_ torque: CGFloat)
    func applyImpulse(_ impulse: CGVector)
    func applyImpulse(_ impulse: CGVector, atPoint point: CGPoint)
    func applyAngularImpulse(_ impulse: CGFloat)
    func allContactedBodies() -> [SKPhysicsBody]
}

Declaration
From
func allContactedBodies() -> [AnyObject]
To
func allContactedBodies() -> [SKPhysicsBody]

Declaration
From
init(bodies bodies: [AnyObject]) -> SKPhysicsBody
To
init(bodies bodies: [SKPhysicsBody])

Declaration
From
init(circleOfRadius r: CGFloat) -> SKPhysicsBody
To
init(circleOfRadius r: CGFloat)

Declaration
From
init(circleOfRadius r: CGFloat, center center: CGPoint) -> SKPhysicsBody
To
init(circleOfRadius r: CGFloat, center center: CGPoint)

Declaration
From
init(edgeChainFromPath path: CGPath!) -> SKPhysicsBody
To
init(edgeChainFromPath path: CGPath)

Declaration
From
init(edgeFromPoint p1: CGPoint, toPoint p2: CGPoint) -> SKPhysicsBody
To
init(edgeFromPoint p1: CGPoint, toPoint p2: CGPoint)

Declaration
From
init(edgeLoopFromPath path: CGPath!) -> SKPhysicsBody
To
init(edgeLoopFromPath path: CGPath)

Declaration
From
init(edgeLoopFromRect rect: CGRect) -> SKPhysicsBody
To
init(edgeLoopFromRect rect: CGRect)

Declaration
From
init!(polygonFromPath path: CGPath!) -> SKPhysicsBody
To
init(polygonFromPath path: CGPath)

Declaration
From
init!(rectangleOfSize s: CGSize) -> SKPhysicsBody
To
init(rectangleOfSize s: CGSize)

Declaration
From
init!(rectangleOfSize s: CGSize, center center: CGPoint) -> SKPhysicsBody
To
init(rectangleOfSize s: CGSize, center center: CGPoint)

Declaration
From
init!(texture texture: SKTexture!, alphaThreshold alphaThreshold: Float, size size: CGSize) -> SKPhysicsBody
To
init(texture texture: SKTexture, alphaThreshold alphaThreshold: Float, size size: CGSize)

Declaration
From
init!(texture texture: SKTexture!, size size: CGSize) -> SKPhysicsBody
To
init(texture texture: SKTexture, size size: CGSize)

Declaration
From
var joints: [AnyObject] { get }
To
var joints: [SKPhysicsJoint] { get }

Declaration
From
class SKPhysicsContact : NSObject {
    var bodyA: SKPhysicsBody! { get }
    var bodyB: SKPhysicsBody! { get }
    var contactPoint: CGPoint { get }
    var contactNormal: CGVector { get }
    var collisionImpulse: CGFloat { get }
}
To
class SKPhysicsContact : NSObject {
    var bodyA: SKPhysicsBody { get }
    var bodyB: SKPhysicsBody { get }
    var contactPoint: CGPoint { get }
    var contactNormal: CGVector { get }
    var collisionImpulse: CGFloat { get }
}

Declaration
From
var bodyA: SKPhysicsBody! { get }
To
var bodyA: SKPhysicsBody { get }

Declaration
From
var bodyB: SKPhysicsBody! { get }
To
var bodyB: SKPhysicsBody { get }

Declaration
From
class SKPhysicsJoint : NSObject, NSCoding {
    var bodyA: SKPhysicsBody!
    var bodyB: SKPhysicsBody!
    var reactionForce: CGVector { get }
    var reactionTorque: CGFloat { get }
}
To
class SKPhysicsJoint : NSObject, NSCoding {
    var bodyA: SKPhysicsBody
    var bodyB: SKPhysicsBody
    var reactionForce: CGVector { get }
    var reactionTorque: CGFloat { get }
}

Declaration
From
var bodyA: SKPhysicsBody!
To
var bodyA: SKPhysicsBody

Declaration
From
var bodyB: SKPhysicsBody!
To
var bodyB: SKPhysicsBody

Declaration
From
class SKPhysicsJointFixed : SKPhysicsJoint {
    class func jointWithBodyA(_ bodyA: SKPhysicsBody!, bodyB bodyB: SKPhysicsBody!, anchor anchor: CGPoint) -> SKPhysicsJointFixed!
}
To
class SKPhysicsJointFixed : SKPhysicsJoint {
    class func jointWithBodyA(_ bodyA: SKPhysicsBody, bodyB bodyB: SKPhysicsBody, anchor anchor: CGPoint) -> SKPhysicsJointFixed
}

Declaration
From
class func jointWithBodyA(_ bodyA: SKPhysicsBody!, bodyB bodyB: SKPhysicsBody!, anchor anchor: CGPoint) -> SKPhysicsJointFixed!
To
class func jointWithBodyA(_ bodyA: SKPhysicsBody, bodyB bodyB: SKPhysicsBody, anchor anchor: CGPoint) -> SKPhysicsJointFixed

Declaration
From
class SKPhysicsJointLimit : SKPhysicsJoint {
    var maxLength: CGFloat
    class func jointWithBodyA(_ bodyA: SKPhysicsBody!, bodyB bodyB: SKPhysicsBody!, anchorA anchorA: CGPoint, anchorB anchorB: CGPoint) -> SKPhysicsJointLimit!
}
To
class SKPhysicsJointLimit : SKPhysicsJoint {
    var maxLength: CGFloat
    class func jointWithBodyA(_ bodyA: SKPhysicsBody, bodyB bodyB: SKPhysicsBody, anchorA anchorA: CGPoint, anchorB anchorB: CGPoint) -> SKPhysicsJointLimit
}

Declaration
From
class func jointWithBodyA(_ bodyA: SKPhysicsBody!, bodyB bodyB: SKPhysicsBody!, anchorA anchorA: CGPoint, anchorB anchorB: CGPoint) -> SKPhysicsJointLimit!
To
class func jointWithBodyA(_ bodyA: SKPhysicsBody, bodyB bodyB: SKPhysicsBody, anchorA anchorA: CGPoint, anchorB anchorB: CGPoint) -> SKPhysicsJointLimit

Declaration
From
class SKPhysicsJointPin : SKPhysicsJoint {
    class func jointWithBodyA(_ bodyA: SKPhysicsBody!, bodyB bodyB: SKPhysicsBody!, anchor anchor: CGPoint) -> SKPhysicsJointPin!
    var shouldEnableLimits: Bool
    var lowerAngleLimit: CGFloat
    var upperAngleLimit: CGFloat
    var frictionTorque: CGFloat
    var rotationSpeed: CGFloat
}
To
class SKPhysicsJointPin : SKPhysicsJoint {
    class func jointWithBodyA(_ bodyA: SKPhysicsBody, bodyB bodyB: SKPhysicsBody, anchor anchor: CGPoint) -> SKPhysicsJointPin
    var shouldEnableLimits: Bool
    var lowerAngleLimit: CGFloat
    var upperAngleLimit: CGFloat
    var frictionTorque: CGFloat
    var rotationSpeed: CGFloat
}

Declaration
From
class func jointWithBodyA(_ bodyA: SKPhysicsBody!, bodyB bodyB: SKPhysicsBody!, anchor anchor: CGPoint) -> SKPhysicsJointPin!
To
class func jointWithBodyA(_ bodyA: SKPhysicsBody, bodyB bodyB: SKPhysicsBody, anchor anchor: CGPoint) -> SKPhysicsJointPin

Declaration
From
class SKPhysicsJointSliding : SKPhysicsJoint {
    class func jointWithBodyA(_ bodyA: SKPhysicsBody!, bodyB bodyB: SKPhysicsBody!, anchor anchor: CGPoint, axis axis: CGVector) -> SKPhysicsJointSliding!
    var shouldEnableLimits: Bool
    var lowerDistanceLimit: CGFloat
    var upperDistanceLimit: CGFloat
}
To
class SKPhysicsJointSliding : SKPhysicsJoint {
    class func jointWithBodyA(_ bodyA: SKPhysicsBody, bodyB bodyB: SKPhysicsBody, anchor anchor: CGPoint, axis axis: CGVector) -> SKPhysicsJointSliding
    var shouldEnableLimits: Bool
    var lowerDistanceLimit: CGFloat
    var upperDistanceLimit: CGFloat
}

Declaration
From
class func jointWithBodyA(_ bodyA: SKPhysicsBody!, bodyB bodyB: SKPhysicsBody!, anchor anchor: CGPoint, axis axis: CGVector) -> SKPhysicsJointSliding!
To
class func jointWithBodyA(_ bodyA: SKPhysicsBody, bodyB bodyB: SKPhysicsBody, anchor anchor: CGPoint, axis axis: CGVector) -> SKPhysicsJointSliding

Declaration
From
class SKPhysicsJointSpring : SKPhysicsJoint {
    class func jointWithBodyA(_ bodyA: SKPhysicsBody!, bodyB bodyB: SKPhysicsBody!, anchorA anchorA: CGPoint, anchorB anchorB: CGPoint) -> SKPhysicsJointSpring!
    var damping: CGFloat
    var frequency: CGFloat
}
To
class SKPhysicsJointSpring : SKPhysicsJoint {
    class func jointWithBodyA(_ bodyA: SKPhysicsBody, bodyB bodyB: SKPhysicsBody, anchorA anchorA: CGPoint, anchorB anchorB: CGPoint) -> SKPhysicsJointSpring
    var damping: CGFloat
    var frequency: CGFloat
}

Declaration
From
class func jointWithBodyA(_ bodyA: SKPhysicsBody!, bodyB bodyB: SKPhysicsBody!, anchorA anchorA: CGPoint, anchorB anchorB: CGPoint) -> SKPhysicsJointSpring!
To
class func jointWithBodyA(_ bodyA: SKPhysicsBody, bodyB bodyB: SKPhysicsBody, anchorA anchorA: CGPoint, anchorB anchorB: CGPoint) -> SKPhysicsJointSpring

Declaration
From
class SKPhysicsWorld : NSObject, NSCoding {
    var gravity: CGVector
    var speed: CGFloat
    unowned(unsafe) var contactDelegate: SKPhysicsContactDelegate!
    func addJoint(_ joint: SKPhysicsJoint)
    func removeJoint(_ joint: SKPhysicsJoint)
    func removeAllJoints()
    func bodyAtPoint(_ point: CGPoint) -> SKPhysicsBody?
    func bodyInRect(_ rect: CGRect) -> SKPhysicsBody?
    func bodyAlongRayStart(_ start: CGPoint, end end: CGPoint) -> SKPhysicsBody?
    func enumerateBodiesAtPoint(_ point: CGPoint, usingBlock block: ((SKPhysicsBody!, UnsafeMutablePointer<ObjCBool>) -> Void)!)
    func enumerateBodiesInRect(_ rect: CGRect, usingBlock block: ((SKPhysicsBody!, UnsafeMutablePointer<ObjCBool>) -> Void)!)
    func enumerateBodiesAlongRayStart(_ start: CGPoint, end end: CGPoint, usingBlock block: ((SKPhysicsBody!, CGPoint, CGVector, UnsafeMutablePointer<ObjCBool>) -> Void)!)
}
To
class SKPhysicsWorld : NSObject, NSCoding {
    var gravity: CGVector
    var speed: CGFloat
    unowned(unsafe) var contactDelegate: SKPhysicsContactDelegate?
    func addJoint(_ joint: SKPhysicsJoint)
    func removeJoint(_ joint: SKPhysicsJoint)
    func removeAllJoints()
    func sampleFieldsAt(_ position: vector_float3) -> vector_float3
    func bodyAtPoint(_ point: CGPoint) -> SKPhysicsBody?
    func bodyInRect(_ rect: CGRect) -> SKPhysicsBody?
    func bodyAlongRayStart(_ start: CGPoint, end end: CGPoint) -> SKPhysicsBody?
    func enumerateBodiesAtPoint(_ point: CGPoint, usingBlock block: (SKPhysicsBody, UnsafeMutablePointer<ObjCBool>) -> Void)
    func enumerateBodiesInRect(_ rect: CGRect, usingBlock block: (SKPhysicsBody, UnsafeMutablePointer<ObjCBool>) -> Void)
    func enumerateBodiesAlongRayStart(_ start: CGPoint, end end: CGPoint, usingBlock block: (SKPhysicsBody, CGPoint, CGVector, UnsafeMutablePointer<ObjCBool>) -> Void)
}

Declaration
From
unowned(unsafe) var contactDelegate: SKPhysicsContactDelegate!
To
unowned(unsafe) var contactDelegate: SKPhysicsContactDelegate?

Declaration
From
func enumerateBodiesAlongRayStart(_ start: CGPoint, end end: CGPoint, usingBlock block: ((SKPhysicsBody!, CGPoint, CGVector, UnsafeMutablePointer<ObjCBool>) -> Void)!)
To
func enumerateBodiesAlongRayStart(_ start: CGPoint, end end: CGPoint, usingBlock block: (SKPhysicsBody, CGPoint, CGVector, UnsafeMutablePointer<ObjCBool>) -> Void)

Declaration
From
func enumerateBodiesAtPoint(_ point: CGPoint, usingBlock block: ((SKPhysicsBody!, UnsafeMutablePointer<ObjCBool>) -> Void)!)
To
func enumerateBodiesAtPoint(_ point: CGPoint, usingBlock block: (SKPhysicsBody, UnsafeMutablePointer<ObjCBool>) -> Void)

Declaration
From
func enumerateBodiesInRect(_ rect: CGRect, usingBlock block: ((SKPhysicsBody!, UnsafeMutablePointer<ObjCBool>) -> Void)!)
To
func enumerateBodiesInRect(_ rect: CGRect, usingBlock block: (SKPhysicsBody, UnsafeMutablePointer<ObjCBool>) -> Void)

Modified SKRegion
Declaration
From
class SKRegion : NSObject, NSCopying, NSCoding {
    var path: CGPath? { get }
    class func infiniteRegion() -> Self
    init(radius radius: Float)
    init(size size: CGSize)
    init(path path: CGPath!)
    func inverseRegion() -> Self
    func regionByUnionWithRegion(_ region: SKRegion!) -> Self!
    func regionByDifferenceFromRegion(_ region: SKRegion) -> Self
    func regionByIntersectionWithRegion(_ region: SKRegion!) -> Self!
    func containsPoint(_ point: CGPoint) -> Bool
}
To
class SKRegion : NSObject, NSCopying, NSCoding {
    var path: CGPath? { get }
    class func infiniteRegion() -> Self
    init(radius radius: Float)
    init(size size: CGSize)
    init(path path: CGPath)
    func inverseRegion() -> Self
    func regionByUnionWithRegion(_ region: SKRegion) -> Self
    func regionByDifferenceFromRegion(_ region: SKRegion) -> Self
    func regionByIntersectionWithRegion(_ region: SKRegion) -> Self
    func containsPoint(_ point: CGPoint) -> Bool
}

Declaration
From
init(path path: CGPath!)
To
init(path path: CGPath)

Declaration
From
func regionByIntersectionWithRegion(_ region: SKRegion!) -> Self!
To
func regionByIntersectionWithRegion(_ region: SKRegion) -> Self

Declaration
From
func regionByUnionWithRegion(_ region: SKRegion!) -> Self!
To
func regionByUnionWithRegion(_ region: SKRegion) -> Self

Raw Value Type
From--
ToInt

Modified SKScene
Declaration
From
class SKScene : SKEffectNode {
    init(size size: CGSize)
    class func sceneWithSize(_ size: CGSize) -> Self
    var size: CGSize
    var scaleMode: SKSceneScaleMode
    var backgroundColor: UIColor
    unowned(unsafe) var delegate: SKSceneDelegate?
    var anchorPoint: CGPoint
    var physicsWorld: SKPhysicsWorld { get }
    func convertPointFromView(_ point: CGPoint) -> CGPoint
    func convertPointToView(_ point: CGPoint) -> CGPoint
    weak var view: SKView? { get }
    func update(_ currentTime: NSTimeInterval)
    func didEvaluateActions()
    func didSimulatePhysics()
    func didApplyConstraints()
    func didFinishUpdate()
    func didMoveToView(_ view: SKView)
    func willMoveFromView(_ view: SKView)
    func didChangeSize(_ oldSize: CGSize)
}
To
class SKScene : SKEffectNode {
    init(size size: CGSize)
    class func sceneWithSize(_ size: CGSize) -> Self
    var size: CGSize
    var scaleMode: SKSceneScaleMode
    weak var camera: SKCameraNode?
    weak var listener: SKNode?
    var audioEngine: AVAudioEngine { get }
    var backgroundColor: UIColor
    unowned(unsafe) var delegate: SKSceneDelegate?
    var anchorPoint: CGPoint
    var physicsWorld: SKPhysicsWorld { get }
    func convertPointFromView(_ point: CGPoint) -> CGPoint
    func convertPointToView(_ point: CGPoint) -> CGPoint
    weak var view: SKView? { get }
    func update(_ currentTime: NSTimeInterval)
    func didEvaluateActions()
    func didSimulatePhysics()
    func didApplyConstraints()
    func didFinishUpdate()
    func didMoveToView(_ view: SKView)
    func willMoveFromView(_ view: SKView)
    func didChangeSize(_ oldSize: CGSize)
}

Raw Value Type
From--
ToInt

Modified SKShader
Declaration
From
class SKShader : NSObject, NSCopying, NSCoding {
    init(source source: String!)
    init(source source: String!, uniforms uniforms: [AnyObject]!)
    convenience init!()
    class func shader() -> Self!
    class func shaderWithSource(_ source: String!) -> Self
    class func shaderWithSource(_ source: String!, uniforms uniforms: [AnyObject]!) -> Self
    convenience init!(fileNamed name: String)
    class func shaderWithFileNamed(_ name: String) -> Self!
    var source: String!
    var uniforms: [AnyObject]
    func addUniform(_ uniform: SKUniform)
    func uniformNamed(_ name: String) -> SKUniform?
    func removeUniformNamed(_ name: String)
}
To
class SKShader : NSObject, NSCopying, NSCoding {
    init(source source: String)
    init(source source: String, uniforms uniforms: [SKUniform])
    convenience init()
    class func shader() -> Self
    class func shaderWithSource(_ source: String) -> Self
    class func shaderWithSource(_ source: String, uniforms uniforms: [SKUniform]) -> Self
    convenience init(fileNamed name: String)
    class func shaderWithFileNamed(_ name: String) -> Self
    var source: String?
    var uniforms: [SKUniform]
    func addUniform(_ uniform: SKUniform)
    func uniformNamed(_ name: String) -> SKUniform?
    func removeUniformNamed(_ name: String)
}

Declaration
From
convenience init!(fileNamed name: String)
To
convenience init(fileNamed name: String)

Declaration
From
init(source source: String!)
To
init(source source: String)

Declaration
From
init(source source: String!, uniforms uniforms: [AnyObject]!)
To
init(source source: String, uniforms uniforms: [SKUniform])

Declaration
From
var source: String!
To
var source: String?

Declaration
From
var uniforms: [AnyObject]
To
var uniforms: [SKUniform]

Modified SKShapeNode
DeclarationProtocols
From
class SKShapeNode : SKNode {
    convenience init(path path: CGPath!)
    class func shapeNodeWithPath(_ path: CGPath!) -> Self
    convenience init(path path: CGPath!, centered centered: Bool)
    class func shapeNodeWithPath(_ path: CGPath!, centered centered: Bool) -> Self
    convenience init(rect rect: CGRect)
    class func shapeNodeWithRect(_ rect: CGRect) -> Self
    convenience init(rectOfSize size: CGSize)
    class func shapeNodeWithRectOfSize(_ size: CGSize) -> Self
    convenience init(rect rect: CGRect, cornerRadius cornerRadius: CGFloat)
    class func shapeNodeWithRect(_ rect: CGRect, cornerRadius cornerRadius: CGFloat) -> Self
    convenience init(rectOfSize size: CGSize, cornerRadius cornerRadius: CGFloat)
    class func shapeNodeWithRectOfSize(_ size: CGSize, cornerRadius cornerRadius: CGFloat) -> Self
    convenience init(circleOfRadius radius: CGFloat)
    class func shapeNodeWithCircleOfRadius(_ radius: CGFloat) -> Self
    convenience init(ellipseInRect rect: CGRect)
    class func shapeNodeWithEllipseInRect(_ rect: CGRect) -> Self
    convenience init(ellipseOfSize size: CGSize)
    class func shapeNodeWithEllipseOfSize(_ size: CGSize) -> Self
    convenience init(points points: UnsafeMutablePointer<CGPoint>, count numPoints: Int)
    class func shapeNodeWithPoints(_ points: UnsafeMutablePointer<CGPoint>, count numPoints: Int) -> Self
    convenience init(splinePoints points: UnsafeMutablePointer<CGPoint>, count numPoints: Int)
    class func shapeNodeWithSplinePoints(_ points: UnsafeMutablePointer<CGPoint>, count numPoints: Int) -> Self
    var path: CGPath!
    var strokeColor: UIColor
    var fillColor: UIColor
    var blendMode: SKBlendMode
    var antialiased: Bool
    var lineWidth: CGFloat
    var glowWidth: CGFloat
    var lineCap: CGLineCap
    var lineJoin: CGLineJoin
    var miterLimit: CGFloat
    var lineLength: CGFloat { get }
    var fillTexture: SKTexture?
    var fillShader: SKShader?
    var strokeTexture: SKTexture?
    var strokeShader: SKShader?
}
extension SKShapeNode : Reflectable {
    func getMirror() -> MirrorType
}
extension SKShapeNode : Reflectable {
    func getMirror() -> MirrorType
}
AnyObject, Reflectable
To
class SKShapeNode : SKNode {
    convenience init(path path: CGPath)
    class func shapeNodeWithPath(_ path: CGPath) -> Self
    convenience init(path path: CGPath, centered centered: Bool)
    class func shapeNodeWithPath(_ path: CGPath, centered centered: Bool) -> Self
    convenience init(rect rect: CGRect)
    class func shapeNodeWithRect(_ rect: CGRect) -> Self
    convenience init(rectOfSize size: CGSize)
    class func shapeNodeWithRectOfSize(_ size: CGSize) -> Self
    convenience init(rect rect: CGRect, cornerRadius cornerRadius: CGFloat)
    class func shapeNodeWithRect(_ rect: CGRect, cornerRadius cornerRadius: CGFloat) -> Self
    convenience init(rectOfSize size: CGSize, cornerRadius cornerRadius: CGFloat)
    class func shapeNodeWithRectOfSize(_ size: CGSize, cornerRadius cornerRadius: CGFloat) -> Self
    convenience init(circleOfRadius radius: CGFloat)
    class func shapeNodeWithCircleOfRadius(_ radius: CGFloat) -> Self
    convenience init(ellipseInRect rect: CGRect)
    class func shapeNodeWithEllipseInRect(_ rect: CGRect) -> Self
    convenience init(ellipseOfSize size: CGSize)
    class func shapeNodeWithEllipseOfSize(_ size: CGSize) -> Self
    convenience init(points points: UnsafeMutablePointer<CGPoint>, count numPoints: Int)
    class func shapeNodeWithPoints(_ points: UnsafeMutablePointer<CGPoint>, count numPoints: Int) -> Self
    convenience init(splinePoints points: UnsafeMutablePointer<CGPoint>, count numPoints: Int)
    class func shapeNodeWithSplinePoints(_ points: UnsafeMutablePointer<CGPoint>, count numPoints: Int) -> Self
    var path: CGPath?
    var strokeColor: UIColor
    var fillColor: UIColor
    var blendMode: SKBlendMode
    var antialiased: Bool
    var lineWidth: CGFloat
    var glowWidth: CGFloat
    var lineCap: CGLineCap
    var lineJoin: CGLineJoin
    var miterLimit: CGFloat
    var lineLength: CGFloat { get }
    var fillTexture: SKTexture?
    var fillShader: SKShader?
    var strokeTexture: SKTexture?
    var strokeShader: SKShader?
}
extension SKShapeNode : _Reflectable {
}
extension SKShapeNode : _Reflectable {
}
AnyObject

Declaration
From
convenience init(path path: CGPath!)
To
convenience init(path path: CGPath)

Declaration
From
convenience init(path path: CGPath!, centered centered: Bool)
To
convenience init(path path: CGPath, centered centered: Bool)

Declaration
From
var path: CGPath!
To
var path: CGPath?

Modified SKSpriteNode
DeclarationProtocols
From
class SKSpriteNode : SKNode {
    convenience init(texture texture: SKTexture!, size size: CGSize)
    class func spriteNodeWithTexture(_ texture: SKTexture!, size size: CGSize) -> Self
    convenience init!(texture texture: SKTexture!)
    class func spriteNodeWithTexture(_ texture: SKTexture!) -> Self!
    convenience init(texture texture: SKTexture!, normalMap normalMap: SKTexture?)
    class func spriteNodeWithTexture(_ texture: SKTexture!, normalMap normalMap: SKTexture?) -> Self
    convenience init(imageNamed name: String)
    class func spriteNodeWithImageNamed(_ name: String) -> Self
    convenience init(imageNamed name: String, normalMapped generateNormalMap: Bool)
    class func spriteNodeWithImageNamed(_ name: String, normalMapped generateNormalMap: Bool) -> Self
    convenience init!(color color: UIColor!, size size: CGSize)
    class func spriteNodeWithColor(_ color: UIColor!, size size: CGSize) -> Self!
    init(texture texture: SKTexture!, color color: UIColor!, size size: CGSize)
    convenience init(texture texture: SKTexture!)
    convenience init(imageNamed name: String)
    convenience init(color color: UIColor!, size size: CGSize)
    init?(coder aDecoder: NSCoder)
    var texture: SKTexture?
    var normalTexture: SKTexture?
    var lightingBitMask: UInt32
    var shadowCastBitMask: UInt32
    var shadowedBitMask: UInt32
    var centerRect: CGRect
    var colorBlendFactor: CGFloat
    var color: UIColor
    var blendMode: SKBlendMode
    var anchorPoint: CGPoint
    var size: CGSize
    var shader: SKShader?
}
extension SKSpriteNode : Reflectable {
    func getMirror() -> MirrorType
}
extension SKSpriteNode : Reflectable {
    func getMirror() -> MirrorType
}
AnyObject, Reflectable
To
class SKSpriteNode : SKNode {
    convenience init(texture texture: SKTexture?, size size: CGSize)
    class func spriteNodeWithTexture(_ texture: SKTexture?, size size: CGSize) -> Self
    convenience init(texture texture: SKTexture?)
    class func spriteNodeWithTexture(_ texture: SKTexture?) -> Self
    convenience init(texture texture: SKTexture?, normalMap normalMap: SKTexture?)
    class func spriteNodeWithTexture(_ texture: SKTexture?, normalMap normalMap: SKTexture?) -> Self
    convenience init(imageNamed name: String)
    class func spriteNodeWithImageNamed(_ name: String) -> Self
    convenience init(imageNamed name: String, normalMapped generateNormalMap: Bool)
    class func spriteNodeWithImageNamed(_ name: String, normalMapped generateNormalMap: Bool) -> Self
    convenience init(color color: UIColor, size size: CGSize)
    class func spriteNodeWithColor(_ color: UIColor, size size: CGSize) -> Self
    init(texture texture: SKTexture?, color color: UIColor, size size: CGSize)
    convenience init(texture texture: SKTexture?)
    convenience init(imageNamed name: String)
    convenience init(color color: UIColor, size size: CGSize)
    init?(coder aDecoder: NSCoder)
    var texture: SKTexture?
    var normalTexture: SKTexture?
    var lightingBitMask: UInt32
    var shadowCastBitMask: UInt32
    var shadowedBitMask: UInt32
    var centerRect: CGRect
    var colorBlendFactor: CGFloat
    var color: UIColor
    var blendMode: SKBlendMode
    var anchorPoint: CGPoint
    var size: CGSize
    var shader: SKShader?
}
extension SKSpriteNode : _Reflectable {
}
extension SKSpriteNode : _Reflectable {
}
AnyObject

Declaration
From
convenience init(color color: UIColor!, size size: CGSize)
To
convenience init(color color: UIColor, size size: CGSize)

Declaration
From
convenience init(texture texture: SKTexture!)
To
convenience init(texture texture: SKTexture?)

Declaration
From
init(texture texture: SKTexture!, color color: UIColor!, size size: CGSize)
To
init(texture texture: SKTexture?, color color: UIColor, size size: CGSize)

Declaration
From
convenience init(texture texture: SKTexture!, normalMap normalMap: SKTexture?)
To
convenience init(texture texture: SKTexture?, normalMap normalMap: SKTexture?)

Declaration
From
convenience init(texture texture: SKTexture!, size size: CGSize)
To
convenience init(texture texture: SKTexture?, size size: CGSize)

Modified SKTexture
DeclarationProtocols
From
class SKTexture : NSObject, NSCopying, NSCoding {
    convenience init!(imageNamed name: String)
    class func textureWithImageNamed(_ name: String) -> Self!
    convenience init(rect rect: CGRect, inTexture texture: SKTexture)
    class func textureWithRect(_ rect: CGRect, inTexture texture: SKTexture) -> Self
    convenience init!(vectorNoiseWithSmoothness smoothness: CGFloat, size size: CGSize)
    class func textureVectorNoiseWithSmoothness(_ smoothness: CGFloat, size size: CGSize) -> Self!
    convenience init!(noiseWithSmoothness smoothness: CGFloat, size size: CGSize, grayscale grayscale: Bool)
    class func textureNoiseWithSmoothness(_ smoothness: CGFloat, size size: CGSize, grayscale grayscale: Bool) -> Self!
    convenience init(CGImage image: CGImage!)
    class func textureWithCGImage(_ image: CGImage!) -> Self
    convenience init(image image: UIImage)
    class func textureWithImage(_ image: UIImage) -> Self
    convenience init!(data pixelData: NSData!, size size: CGSize)
    class func textureWithData(_ pixelData: NSData!, size size: CGSize) -> Self!
    convenience init!(data pixelData: NSData!, size size: CGSize, flipped flipped: Bool)
    class func textureWithData(_ pixelData: NSData!, size size: CGSize, flipped flipped: Bool) -> Self!
    convenience init!(data pixelData: NSData!, size size: CGSize, rowLength rowLength: UInt32, alignment alignment: UInt32)
    class func textureWithData(_ pixelData: NSData!, size size: CGSize, rowLength rowLength: UInt32, alignment alignment: UInt32) -> Self!
    func textureByApplyingCIFilter(_ filter: CIFilter) -> Self
    func textureByGeneratingNormalMap() -> Self!
    func textureByGeneratingNormalMapWithSmoothness(_ smoothness: CGFloat, contrast contrast: CGFloat) -> Self!
    func textureRect() -> CGRect
    func size() -> CGSize
    var filteringMode: SKTextureFilteringMode
    var usesMipmaps: Bool
    class func preloadTextures(_ textures: [AnyObject]!, withCompletionHandler completionHandler: (() -> Void)!)
    func preloadWithCompletionHandler(_ completionHandler: (() -> Void)!)
}
extension SKTexture : Reflectable {
    func getMirror() -> MirrorType
}
extension SKTexture : Reflectable {
    func getMirror() -> MirrorType
}
AnyObject, NSCoding, NSCopying, Reflectable
To
class SKTexture : NSObject, NSCopying, NSCoding {
    convenience init(imageNamed name: String)
    class func textureWithImageNamed(_ name: String) -> Self
    convenience init(rect rect: CGRect, inTexture texture: SKTexture)
    class func textureWithRect(_ rect: CGRect, inTexture texture: SKTexture) -> Self
    convenience init(vectorNoiseWithSmoothness smoothness: CGFloat, size size: CGSize)
    class func textureVectorNoiseWithSmoothness(_ smoothness: CGFloat, size size: CGSize) -> Self
    convenience init(noiseWithSmoothness smoothness: CGFloat, size size: CGSize, grayscale grayscale: Bool)
    class func textureNoiseWithSmoothness(_ smoothness: CGFloat, size size: CGSize, grayscale grayscale: Bool) -> Self
    convenience init(CGImage image: CGImage)
    class func textureWithCGImage(_ image: CGImage) -> Self
    convenience init(image image: UIImage)
    class func textureWithImage(_ image: UIImage) -> Self
    convenience init(data pixelData: NSData, size size: CGSize)
    class func textureWithData(_ pixelData: NSData, size size: CGSize) -> Self
    convenience init(data pixelData: NSData, size size: CGSize, flipped flipped: Bool)
    class func textureWithData(_ pixelData: NSData, size size: CGSize, flipped flipped: Bool) -> Self
    convenience init(data pixelData: NSData, size size: CGSize, rowLength rowLength: UInt32, alignment alignment: UInt32)
    class func textureWithData(_ pixelData: NSData, size size: CGSize, rowLength rowLength: UInt32, alignment alignment: UInt32) -> Self
    func textureByApplyingCIFilter(_ filter: CIFilter) -> Self
    func textureByGeneratingNormalMap() -> Self
    func textureByGeneratingNormalMapWithSmoothness(_ smoothness: CGFloat, contrast contrast: CGFloat) -> Self
    func textureRect() -> CGRect
    func size() -> CGSize
    var filteringMode: SKTextureFilteringMode
    var usesMipmaps: Bool
    var CGImage: CGImage { get }
    class func preloadTextures(_ textures: [SKTexture], withCompletionHandler completionHandler: () -> Void)
    func preloadWithCompletionHandler(_ completionHandler: () -> Void)
}
extension SKTexture : _Reflectable {
}
extension SKTexture : _Reflectable {
}
AnyObject, NSCoding, NSCopying

Declaration
From
convenience init(CGImage image: CGImage!)
To
convenience init(CGImage image: CGImage)

Declaration
From
convenience init!(data pixelData: NSData!, size size: CGSize)
To
convenience init(data pixelData: NSData, size size: CGSize)

Declaration
From
convenience init!(data pixelData: NSData!, size size: CGSize, flipped flipped: Bool)
To
convenience init(data pixelData: NSData, size size: CGSize, flipped flipped: Bool)

Declaration
From
convenience init!(data pixelData: NSData!, size size: CGSize, rowLength rowLength: UInt32, alignment alignment: UInt32)
To
convenience init(data pixelData: NSData, size size: CGSize, rowLength rowLength: UInt32, alignment alignment: UInt32)

Declaration
From
convenience init!(imageNamed name: String)
To
convenience init(imageNamed name: String)

Declaration
From
convenience init!(noiseWithSmoothness smoothness: CGFloat, size size: CGSize, grayscale grayscale: Bool)
To
convenience init(noiseWithSmoothness smoothness: CGFloat, size size: CGSize, grayscale grayscale: Bool)

Declaration
From
convenience init!(vectorNoiseWithSmoothness smoothness: CGFloat, size size: CGSize)
To
convenience init(vectorNoiseWithSmoothness smoothness: CGFloat, size size: CGSize)

Declaration
From
class func preloadTextures(_ textures: [AnyObject]!, withCompletionHandler completionHandler: (() -> Void)!)
To
class func preloadTextures(_ textures: [SKTexture], withCompletionHandler completionHandler: () -> Void)

Declaration
From
func preloadWithCompletionHandler(_ completionHandler: (() -> Void)!)
To
func preloadWithCompletionHandler(_ completionHandler: () -> Void)

Declaration
From
func textureByGeneratingNormalMap() -> Self!
To
func textureByGeneratingNormalMap() -> Self

Declaration
From
func textureByGeneratingNormalMapWithSmoothness(_ smoothness: CGFloat, contrast contrast: CGFloat) -> Self!
To
func textureByGeneratingNormalMapWithSmoothness(_ smoothness: CGFloat, contrast contrast: CGFloat) -> Self

DeclarationProtocols
From
class SKTextureAtlas : NSObject, NSCoding {
    convenience init!(named name: String)
    class func atlasNamed(_ name: String) -> Self!
    convenience init!(dictionary properties: [NSObject : AnyObject])
    class func atlasWithDictionary(_ properties: [NSObject : AnyObject]) -> Self!
    func textureNamed(_ name: String) -> SKTexture!
    class func preloadTextureAtlases(_ textureAtlases: [AnyObject]!, withCompletionHandler completionHandler: (() -> Void)!)
    func preloadWithCompletionHandler(_ completionHandler: () -> Void)
    var textureNames: [AnyObject] { get }
}
extension SKTextureAtlas : Reflectable {
    func getMirror() -> MirrorType
}
extension SKTextureAtlas : Reflectable {
    func getMirror() -> MirrorType
}
AnyObject, NSCoding, Reflectable
To
class SKTextureAtlas : NSObject, NSCoding {
    convenience init(named name: String)
    class func atlasNamed(_ name: String) -> Self
    convenience init(dictionary properties: [String : AnyObject])
    class func atlasWithDictionary(_ properties: [String : AnyObject]) -> Self
    func textureNamed(_ name: String) -> SKTexture
    class func preloadTextureAtlases(_ textureAtlases: [SKTextureAtlas], withCompletionHandler completionHandler: () -> Void)
    class func preloadTextureAtlasesNamed(_ atlasNames: [String], withCompletionHandler completionHandler: (NSError?, [SKTextureAtlas]) -> Void)
    func preloadWithCompletionHandler(_ completionHandler: () -> Void)
    var textureNames: [String] { get }
}
extension SKTextureAtlas : _Reflectable {
}
extension SKTextureAtlas : _Reflectable {
}
AnyObject, NSCoding

Declaration
From
convenience init!(dictionary properties: [NSObject : AnyObject])
To
convenience init(dictionary properties: [String : AnyObject])

Declaration
From
convenience init!(named name: String)
To
convenience init(named name: String)

Declaration
From
class func preloadTextureAtlases(_ textureAtlases: [AnyObject]!, withCompletionHandler completionHandler: (() -> Void)!)
To
class func preloadTextureAtlases(_ textureAtlases: [SKTextureAtlas], withCompletionHandler completionHandler: () -> Void)

Declaration
From
func textureNamed(_ name: String) -> SKTexture!
To
func textureNamed(_ name: String) -> SKTexture

Declaration
From
var textureNames: [AnyObject] { get }
To
var textureNames: [String] { get }

Raw Value Type
From--
ToInt

Modified SKTransition
DeclarationProtocols
From
class SKTransition : NSObject {
    class func crossFadeWithDuration(_ sec: NSTimeInterval) -> SKTransition
    class func fadeWithDuration(_ sec: NSTimeInterval) -> SKTransition
    class func fadeWithColor(_ color: UIColor, duration sec: NSTimeInterval) -> SKTransition
    class func flipHorizontalWithDuration(_ sec: NSTimeInterval) -> SKTransition
    class func flipVerticalWithDuration(_ sec: NSTimeInterval) -> SKTransition
    class func revealWithDirection(_ direction: SKTransitionDirection, duration sec: NSTimeInterval) -> SKTransition
    class func moveInWithDirection(_ direction: SKTransitionDirection, duration sec: NSTimeInterval) -> SKTransition
    class func pushWithDirection(_ direction: SKTransitionDirection, duration sec: NSTimeInterval) -> SKTransition
    class func doorsOpenHorizontalWithDuration(_ sec: NSTimeInterval) -> SKTransition
    class func doorsOpenVerticalWithDuration(_ sec: NSTimeInterval) -> SKTransition
    class func doorsCloseHorizontalWithDuration(_ sec: NSTimeInterval) -> SKTransition
    class func doorsCloseVerticalWithDuration(_ sec: NSTimeInterval) -> SKTransition
    class func doorwayWithDuration(_ sec: NSTimeInterval) -> SKTransition
    init(CIFilter filter: CIFilter, duration sec: NSTimeInterval) -> SKTransition
    class func transitionWithCIFilter(_ filter: CIFilter, duration sec: NSTimeInterval) -> SKTransition
    var pausesIncomingScene: Bool
    var pausesOutgoingScene: Bool
}
AnyObject
To
class SKTransition : NSObject, NSCopying {
    class func crossFadeWithDuration(_ sec: NSTimeInterval) -> SKTransition
    class func fadeWithDuration(_ sec: NSTimeInterval) -> SKTransition
    class func fadeWithColor(_ color: UIColor, duration sec: NSTimeInterval) -> SKTransition
    class func flipHorizontalWithDuration(_ sec: NSTimeInterval) -> SKTransition
    class func flipVerticalWithDuration(_ sec: NSTimeInterval) -> SKTransition
    class func revealWithDirection(_ direction: SKTransitionDirection, duration sec: NSTimeInterval) -> SKTransition
    class func moveInWithDirection(_ direction: SKTransitionDirection, duration sec: NSTimeInterval) -> SKTransition
    class func pushWithDirection(_ direction: SKTransitionDirection, duration sec: NSTimeInterval) -> SKTransition
    class func doorsOpenHorizontalWithDuration(_ sec: NSTimeInterval) -> SKTransition
    class func doorsOpenVerticalWithDuration(_ sec: NSTimeInterval) -> SKTransition
    class func doorsCloseHorizontalWithDuration(_ sec: NSTimeInterval) -> SKTransition
    class func doorsCloseVerticalWithDuration(_ sec: NSTimeInterval) -> SKTransition
    class func doorwayWithDuration(_ sec: NSTimeInterval) -> SKTransition
     init(CIFilter filter: CIFilter, duration sec: NSTimeInterval)
    class func transitionWithCIFilter(_ filter: CIFilter, duration sec: NSTimeInterval) -> SKTransition
    var pausesIncomingScene: Bool
    var pausesOutgoingScene: Bool
}
AnyObject, NSCopying

Declaration
From
init(CIFilter filter: CIFilter, duration sec: NSTimeInterval) -> SKTransition
To
init(CIFilter filter: CIFilter, duration sec: NSTimeInterval)

Raw Value Type
From--
ToInt

Modified SKUniform
Declaration
From
class SKUniform : NSObject, NSCopying, NSCoding {
    convenience init!(name name: String!)
    class func uniformWithName(_ name: String!) -> Self!
    convenience init!(name name: String!, texture texture: SKTexture!)
    class func uniformWithName(_ name: String!, texture texture: SKTexture!) -> Self!
    convenience init!(name name: String!, float value: Float)
    class func uniformWithName(_ name: String!, float value: Float) -> Self!
    convenience init!(name name: String!, floatVector2 value: GLKVector2)
    class func uniformWithName(_ name: String!, floatVector2 value: GLKVector2) -> Self!
    convenience init!(name name: String!, floatVector3 value: GLKVector3)
    class func uniformWithName(_ name: String!, floatVector3 value: GLKVector3) -> Self!
    convenience init!(name name: String!, floatVector4 value: GLKVector4)
    class func uniformWithName(_ name: String!, floatVector4 value: GLKVector4) -> Self!
    convenience init!(name name: String!, floatMatrix2 value: GLKMatrix2)
    class func uniformWithName(_ name: String!, floatMatrix2 value: GLKMatrix2) -> Self!
    convenience init!(name name: String!, floatMatrix3 value: GLKMatrix3)
    class func uniformWithName(_ name: String!, floatMatrix3 value: GLKMatrix3) -> Self!
    convenience init!(name name: String!, floatMatrix4 value: GLKMatrix4)
    class func uniformWithName(_ name: String!, floatMatrix4 value: GLKMatrix4) -> Self!
    var name: String { get }
    var uniformType: SKUniformType { get }
    var textureValue: SKTexture!
    var floatValue: Float
    var floatVector2Value: GLKVector2
    var floatVector3Value: GLKVector3
    var floatVector4Value: GLKVector4
    var floatMatrix2Value: GLKMatrix2
    var floatMatrix3Value: GLKMatrix3
    var floatMatrix4Value: GLKMatrix4
    init!(name name: String!)
    init!(name name: String!, texture texture: SKTexture!)
    init!(name name: String!, float value: Float)
    init!(name name: String!, floatVector2 value: GLKVector2)
    init!(name name: String!, floatVector3 value: GLKVector3)
    init!(name name: String!, floatVector4 value: GLKVector4)
    init!(name name: String!, floatMatrix2 value: GLKMatrix2)
    init!(name name: String!, floatMatrix3 value: GLKMatrix3)
    init!(name name: String!, floatMatrix4 value: GLKMatrix4)
}
To
class SKUniform : NSObject, NSCopying, NSCoding {
    convenience init(name name: String)
    class func uniformWithName(_ name: String) -> Self
    convenience init(name name: String, texture texture: SKTexture)
    class func uniformWithName(_ name: String, texture texture: SKTexture) -> Self
    convenience init(name name: String, float value: Float)
    class func uniformWithName(_ name: String, float value: Float) -> Self
    convenience init(name name: String, floatVector2 value: GLKVector2)
    class func uniformWithName(_ name: String, floatVector2 value: GLKVector2) -> Self
    convenience init(name name: String, floatVector3 value: GLKVector3)
    class func uniformWithName(_ name: String, floatVector3 value: GLKVector3) -> Self
    convenience init(name name: String, floatVector4 value: GLKVector4)
    class func uniformWithName(_ name: String, floatVector4 value: GLKVector4) -> Self
    convenience init(name name: String, floatMatrix2 value: GLKMatrix2)
    class func uniformWithName(_ name: String, floatMatrix2 value: GLKMatrix2) -> Self
    convenience init(name name: String, floatMatrix3 value: GLKMatrix3)
    class func uniformWithName(_ name: String, floatMatrix3 value: GLKMatrix3) -> Self
    convenience init(name name: String, floatMatrix4 value: GLKMatrix4)
    class func uniformWithName(_ name: String, floatMatrix4 value: GLKMatrix4) -> Self
    var name: String { get }
    var uniformType: SKUniformType { get }
    var textureValue: SKTexture?
    var floatValue: Float
    var floatVector2Value: GLKVector2
    var floatVector3Value: GLKVector3
    var floatVector4Value: GLKVector4
    var floatMatrix2Value: GLKMatrix2
    var floatMatrix3Value: GLKMatrix3
    var floatMatrix4Value: GLKMatrix4
    init(name name: String)
    init(name name: String, texture texture: SKTexture?)
    init(name name: String, float value: Float)
    init(name name: String, floatVector2 value: GLKVector2)
    init(name name: String, floatVector3 value: GLKVector3)
    init(name name: String, floatVector4 value: GLKVector4)
    init(name name: String, floatMatrix2 value: GLKMatrix2)
    init(name name: String, floatMatrix3 value: GLKMatrix3)
    init(name name: String, floatMatrix4 value: GLKMatrix4)
}

Declaration
From
init!(name name: String!)
To
init(name name: String)

Declaration
From
init!(name name: String!, float value: Float)
To
init(name name: String, float value: Float)

Declaration
From
init!(name name: String!, floatMatrix2 value: GLKMatrix2)
To
init(name name: String, floatMatrix2 value: GLKMatrix2)

Declaration
From
init!(name name: String!, floatMatrix3 value: GLKMatrix3)
To
init(name name: String, floatMatrix3 value: GLKMatrix3)

Declaration
From
init!(name name: String!, floatMatrix4 value: GLKMatrix4)
To
init(name name: String, floatMatrix4 value: GLKMatrix4)

Declaration
From
init!(name name: String!, floatVector2 value: GLKVector2)
To
init(name name: String, floatVector2 value: GLKVector2)

Declaration
From
init!(name name: String!, floatVector3 value: GLKVector3)
To
init(name name: String, floatVector3 value: GLKVector3)

Declaration
From
init!(name name: String!, floatVector4 value: GLKVector4)
To
init(name name: String, floatVector4 value: GLKVector4)

Declaration
From
init!(name name: String!, texture texture: SKTexture!)
To
init(name name: String, texture texture: SKTexture?)

Declaration
From
var textureValue: SKTexture!
To
var textureValue: SKTexture?

Raw Value Type
From--
ToInt

Modified SKVideoNode
Declaration
From
class SKVideoNode : SKNode {
    init!(AVPlayer player: AVPlayer!) -> SKVideoNode
    class func videoNodeWithAVPlayer(_ player: AVPlayer!) -> SKVideoNode!
    init!(videoFileNamed videoFile: String!) -> SKVideoNode
    class func videoNodeWithVideoFileNamed(_ videoFile: String!) -> SKVideoNode!
    init!(videoURL videoURL: NSURL!) -> SKVideoNode
    class func videoNodeWithVideoURL(_ videoURL: NSURL!) -> SKVideoNode!
    init!(AVPlayer player: AVPlayer!)
    init!(videoFileNamed videoFile: String)
    init!(videoURL url: NSURL)
    init?(coder aDecoder: NSCoder)
    func play()
    func pause()
    var size: CGSize
    var anchorPoint: CGPoint
}
To
class SKVideoNode : SKNode {
     init(AVPlayer player: AVPlayer)
    class func videoNodeWithAVPlayer(_ player: AVPlayer) -> SKVideoNode
     init(videoFileNamed videoFile: String)
    class func videoNodeWithVideoFileNamed(_ videoFile: String) -> SKVideoNode
     init(fileNamed videoFile: String)
    class func videoNodeWithFileNamed(_ videoFile: String) -> SKVideoNode
     init(videoURL videoURL: NSURL)
    class func videoNodeWithVideoURL(_ videoURL: NSURL) -> SKVideoNode
     init(URL videoURL: NSURL)
    class func videoNodeWithURL(_ videoURL: NSURL) -> SKVideoNode
    init(AVPlayer player: AVPlayer)
    init(videoFileNamed videoFile: String)
    init(fileNamed videoFile: String)
    init(videoURL url: NSURL)
    init(URL url: NSURL)
    init?(coder aDecoder: NSCoder)
    func play()
    func pause()
    var size: CGSize
    var anchorPoint: CGPoint
}

Declaration
From
init!(AVPlayer player: AVPlayer!)
To
init(AVPlayer player: AVPlayer)

DeclarationIntroductionDeprecation
From
init!(videoFileNamed videoFile: String)
iOS 8.0--
To
init(videoFileNamed videoFile: String)
iOS 7.0iOS 8.0

DeclarationIntroductionDeprecation
From
init!(videoURL url: NSURL)
iOS 8.0--
To
init(videoURL url: NSURL)
iOS 7.0iOS 8.0

Modified SKView
Declaration
From
class SKView : UIView {
    var paused: Bool
    var showsFPS: Bool
    var showsDrawCount: Bool
    var showsNodeCount: Bool
    var showsQuadCount: Bool
    var showsPhysics: Bool
    var showsFields: Bool
    var asynchronous: Bool
    var allowsTransparency: Bool
    var ignoresSiblingOrder: Bool
    var shouldCullNonVisibleNodes: Bool
    var frameInterval: Int
    func presentScene(_ scene: SKScene?)
    func presentScene(_ scene: SKScene?, transition transition: SKTransition?)
    var scene: SKScene? { get }
    func textureFromNode(_ node: SKNode) -> SKTexture!
    func textureFromNode(_ node: SKNode, crop crop: CGRect) -> SKTexture!
    func convertPoint(_ point: CGPoint, toScene scene: SKScene) -> CGPoint
    func convertPoint(_ point: CGPoint, fromScene scene: SKScene) -> CGPoint
}
To
class SKView : UIView {
    var paused: Bool
    var showsFPS: Bool
    var showsDrawCount: Bool
    var showsNodeCount: Bool
    var showsQuadCount: Bool
    var showsPhysics: Bool
    var showsFields: Bool
    var asynchronous: Bool
    var allowsTransparency: Bool
    var ignoresSiblingOrder: Bool
    var shouldCullNonVisibleNodes: Bool
    var frameInterval: Int
    func presentScene(_ scene: SKScene?)
    func presentScene(_ scene: SKScene, transition transition: SKTransition)
    var scene: SKScene? { get }
    func textureFromNode(_ node: SKNode) -> SKTexture?
    func textureFromNode(_ node: SKNode, crop crop: CGRect) -> SKTexture?
    func convertPoint(_ point: CGPoint, toScene scene: SKScene) -> CGPoint
    func convertPoint(_ point: CGPoint, fromScene scene: SKScene) -> CGPoint
}

Declaration
From
func presentScene(_ scene: SKScene?, transition transition: SKTransition?)
To
func presentScene(_ scene: SKScene, transition transition: SKTransition)

Declaration
From
func textureFromNode(_ node: SKNode) -> SKTexture!
To
func textureFromNode(_ node: SKNode) -> SKTexture?

Declaration
From
func textureFromNode(_ node: SKNode, crop crop: CGRect) -> SKTexture!
To
func textureFromNode(_ node: SKNode, crop crop: CGRect) -> SKTexture?

Declaration
From
func locationInNode(_ node: SKNode!) -> CGPoint
To
func locationInNode(_ node: SKNode) -> CGPoint

Declaration
From
func previousLocationInNode(_ node: SKNode!) -> CGPoint
To
func previousLocationInNode(_ node: SKNode) -> CGPoint