GameController iOS 15.5 to 16.0 API Differences

GCAxisElement.h
Added GCAxisElement
Added GCAxisElement.absoluteInput
Added GCAxisElement.relativeInput
GCAxisInput.h
Added GCAxisInput
Added GCAxisInput.valueDidChangeHandler
Added GCAxisInput.value
Added GCAxisInput.analog
Added GCAxisInput.canWrap
Added GCAxisInput.lastValueTimestamp
Added GCAxisInput.lastValueLatency
GCButtonElement.h
Added GCButtonElement
Added GCButtonElement.pressedInput
Added GCButtonElement.touchedInput
GCController.h
Added GCController.physicalInputProfile
GCDevice.h
Modified GCDevice.physicalInputProfile
AvailabilityDeprecation Message
FromAvailablenone
ToDeprecatedUse the physicalInputProfile property on GCController instead. For GCKeyboard, use the keyboardInput property. For GCMouse, use the mouseInput property.

GCDevicePhysicalInput.h
Added GCDevicePhysicalInput
Added GCDevicePhysicalInput.device
Added GCDevicePhysicalInput.elementValueDidChangeHandler
Added -[GCDevicePhysicalInput capture]
Added GCDevicePhysicalInput.inputStateAvailableHandler
Added GCDevicePhysicalInput.inputStateQueueDepth
Added -[GCDevicePhysicalInput nextInputState]
GCDevicePhysicalInputState.h
Added GCDevicePhysicalInputState
Added GCDevicePhysicalInputState.device
Added GCDevicePhysicalInputState.lastEventTimestamp
Added GCDevicePhysicalInputState.lastEventLatency
Added GCDevicePhysicalInputState.elements
Added GCDevicePhysicalInputState.buttons
Added GCDevicePhysicalInputState.axes
Added GCDevicePhysicalInputState.switches
Added GCDevicePhysicalInputState.dpads
Added -[GCDevicePhysicalInputState objectForKeyedSubscript:]
GCDevicePhysicalInputStateDiff.h
Added GCDevicePhysicalInputElementChange
Added GCDevicePhysicalInputElementUnknownChange
Added GCDevicePhysicalInputElementNoChange
Added GCDevicePhysicalInputElementChanged
Added GCDevicePhysicalInputStateDiff
Added -[GCDevicePhysicalInputStateDiff changeForElement:]
Added -[GCDevicePhysicalInputStateDiff changedElements]
GCDirectionPadElement.h
Added GCDirectionPadElement
Added GCDirectionPadElement.xAxis
Added GCDirectionPadElement.yAxis
Added GCDirectionPadElement.up
Added GCDirectionPadElement.down
Added GCDirectionPadElement.left
Added GCDirectionPadElement.right
GCGearShifterElement.h
Added GCGearShifterElement
Added GCGearShifterElement.patternInput
Added GCGearShifterElement.sequentialInput
GCInputNames.h
Added GCPhysicalInputElementName
Added GCButtonElementName
Added GCAxisElementName
Added GCSwitchElementName
Added GCDirectionPadElementName
Added GCInputElementName
Added GCInputButtonName
Added GCInputAxisName
Added GCInputSwitchName
Added GCInputDirectionPadName
Added GCInputSteeringWheel
Added GCInputShifter
Added GCInputPedalAccelerator
Added GCInputPedalBrake
Added GCInputPedalClutch
Added GCInputLeftPaddle
Added GCInputRightPaddle
Modified GCInputButtonA
Declaration
FromNSString *const GCInputButtonA
ToGCInputButtonName GCInputButtonA

Modified GCInputButtonB
Declaration
FromNSString *const GCInputButtonB
ToGCInputButtonName GCInputButtonB

Modified GCInputButtonX
Declaration
FromNSString *const GCInputButtonX
ToGCInputButtonName GCInputButtonX

Modified GCInputButtonY
Declaration
FromNSString *const GCInputButtonY
ToGCInputButtonName GCInputButtonY

Modified GCInputDirectionPad
Declaration
FromNSString *const GCInputDirectionPad
ToGCInputDirectionPadName GCInputDirectionPad

Modified GCInputLeftThumbstick
Declaration
FromNSString *const GCInputLeftThumbstick
ToGCInputDirectionPadName GCInputLeftThumbstick

Modified GCInputRightThumbstick
Declaration
FromNSString *const GCInputRightThumbstick
ToGCInputDirectionPadName GCInputRightThumbstick

Modified GCInputLeftShoulder
Declaration
FromNSString *const GCInputLeftShoulder
ToGCInputButtonName GCInputLeftShoulder

Modified GCInputRightShoulder
Declaration
FromNSString *const GCInputRightShoulder
ToGCInputButtonName GCInputRightShoulder

Modified GCInputLeftTrigger
Declaration
FromNSString *const GCInputLeftTrigger
ToGCInputButtonName GCInputLeftTrigger

Modified GCInputRightTrigger
Declaration
FromNSString *const GCInputRightTrigger
ToGCInputButtonName GCInputRightTrigger

Modified GCInputLeftThumbstickButton
Declaration
FromNSString *const GCInputLeftThumbstickButton
ToGCInputButtonName GCInputLeftThumbstickButton

Modified GCInputRightThumbstickButton
Declaration
FromNSString *const GCInputRightThumbstickButton
ToGCInputButtonName GCInputRightThumbstickButton

Modified GCInputButtonHome
Declaration
FromNSString *const GCInputButtonHome
ToGCInputButtonName GCInputButtonHome

Modified GCInputButtonMenu
Declaration
FromNSString *const GCInputButtonMenu
ToGCInputButtonName GCInputButtonMenu

Modified GCInputButtonOptions
Declaration
FromNSString *const GCInputButtonOptions
ToGCInputButtonName GCInputButtonOptions

Modified GCInputButtonShare
Declaration
FromNSString *const GCInputButtonShare
ToGCInputButtonName GCInputButtonShare

Modified GCInputXboxPaddleOne
Declaration
FromNSString *const GCInputXboxPaddleOne
ToGCInputButtonName GCInputXboxPaddleOne

Modified GCInputXboxPaddleTwo
Declaration
FromNSString *const GCInputXboxPaddleTwo
ToGCInputButtonName GCInputXboxPaddleTwo

Modified GCInputXboxPaddleThree
Declaration
FromNSString *const GCInputXboxPaddleThree
ToGCInputButtonName GCInputXboxPaddleThree

Modified GCInputXboxPaddleFour
Declaration
FromNSString *const GCInputXboxPaddleFour
ToGCInputButtonName GCInputXboxPaddleFour

Modified GCInputDualShockTouchpadOne
Declaration
FromNSString *const GCInputDualShockTouchpadOne
ToGCInputDirectionPadName GCInputDualShockTouchpadOne

Modified GCInputDualShockTouchpadTwo
Declaration
FromNSString *const GCInputDualShockTouchpadTwo
ToGCInputDirectionPadName GCInputDualShockTouchpadTwo

Modified GCInputDualShockTouchpadButton
Declaration
FromNSString *const GCInputDualShockTouchpadButton
ToGCInputButtonName GCInputDualShockTouchpadButton

GCLinearInput.h
Added GCLinearInput
Added GCLinearInput.valueDidChangeHandler
Added GCLinearInput.value
Added GCLinearInput.analog
Added GCLinearInput.canWrap
Added GCLinearInput.lastValueTimestamp
Added GCLinearInput.lastValueLatency
GCPhysicalInputElement.h
Added GCPhysicalInputElement
Added GCPhysicalInputElement.sfSymbolsName
Added GCPhysicalInputElement.localizedName
Added GCPhysicalInputElement.aliases
Added GCPhysicalInputElementCollection
Added GCPhysicalInputElementCollection.count
Added -[GCPhysicalInputElementCollection elementForAlias:]
Added -[GCPhysicalInputElementCollection objectForKeyedSubscript:]
Added -[GCPhysicalInputElementCollection elementEnumerator]
GCPhysicalInputProfile.h
Added GCPhysicalInputProfile.valueDidChangeHandler
GCPressedStateInput.h
Added GCPressedStateInput
Added GCPressedStateInput.pressedDidChangeHandler
Added GCPressedStateInput.pressed
Added GCPressedStateInput.lastPressedStateTimestamp
Added GCPressedStateInput.lastPressedStateLatency
GCProductCategories.h
Added GCProductCategoryHID
GCRacingWheel.h
Added GCRacingWheelDidConnectNotification
Added GCRacingWheelDidDisconnectNotification
Added GCRacingWheel
Added GCRacingWheel.connectedRacingWheels
Added -[GCRacingWheel acquireDeviceWithError:]
Added -[GCRacingWheel relinquishDevice]
Added GCRacingWheel.acquired
Added GCRacingWheel.wheelInput
Added GCRacingWheel.snapshot
Added -[GCRacingWheel capture]
GCRacingWheelInput.h
Added GCRacingWheelInputState
Added GCRacingWheelInputState.wheel
Added GCRacingWheelInputState.acceleratorPedal
Added GCRacingWheelInputState.brakePedal
Added GCRacingWheelInputState.clutchPedal
Added GCRacingWheelInputState.shifter
Added GCRacingWheelInput
Added -[GCRacingWheelInput capture]
Added -[GCRacingWheelInput nextInputState]
GCRelativeInput.h
Added GCRelativeInput
Added GCRelativeInput.deltaDidChangeHandler
Added GCRelativeInput.delta
Added GCRelativeInput.analog
Added GCRelativeInput.lastDeltaTimestamp
Added GCRelativeInput.lastDeltaLatency
GCSteeringWheelElement.h
Added GCSteeringWheelElement
Added GCSteeringWheelElement.maximumDegreesOfRotation
GCSwitchElement.h
Added GCSwitchElement
Added GCSwitchElement.positionInput
GCSwitchPositionInput.h
Added GCSwitchPositionInput
Added GCSwitchPositionInput.positionDidChangeHandler
Added GCSwitchPositionInput.position
Added GCSwitchPositionInput.positionRange
Added GCSwitchPositionInput.sequential
Added GCSwitchPositionInput.canWrap
Added GCSwitchPositionInput.lastPositionTimestamp
Added GCSwitchPositionInput.lastPositionLatency
GCSyntheticDeviceKeys.h
Added #def kIOHIDGCSyntheticDeviceKey
GCTouchedStateInput.h
Added GCTouchedStateInput
Added GCTouchedStateInput.touchedDidChangeHandler
Added GCTouchedStateInput.touched
Added GCTouchedStateInput.lastTouchedStateTimestamp
Added GCTouchedStateInput.lastTouchedStateLatency
Added GCInputButtonA
Added GCInputButtonB
Added GCInputButtonHome
Added GCInputButtonMenu
Added GCInputButtonOptions
Added GCInputButtonShare
Added GCInputButtonX
Added GCInputButtonY
Added GCInputDirectionPad
Added GCInputDualShockTouchpadButton
Added GCInputDualShockTouchpadOne
Added GCInputDualShockTouchpadTwo
Added GCInputLeftPaddle
Added GCInputLeftShoulder
Added GCInputLeftThumbstick
Added GCInputLeftThumbstickButton
Added GCInputLeftTrigger
Added GCInputPedalAccelerator
Added GCInputPedalBrake
Added GCInputPedalClutch
Added GCInputRightPaddle
Added GCInputRightShoulder
Added GCInputRightThumbstick
Added GCInputRightThumbstickButton
Added GCInputRightTrigger
Added GCInputShifter
Added GCInputSteeringWheel
Added GCInputXboxPaddleFour
Added GCInputXboxPaddleOne
Added GCInputXboxPaddleThree
Added GCInputXboxPaddleTwo
GCAxisElementName
Added GCAxisElementName
Added GCAxisElementName.steeringWheel /* static */
Added GCAxisElementName.init(rawValue:)
Added GCAxisElementName.rawValue
Added GCAxisElementName.RawValue
GCButtonElementName
Added GCButtonElementName
Added GCButtonElementName.a /* static */
Added GCButtonElementName.b /* static */
Added GCButtonElementName.home /* static */
Added GCButtonElementName.leftPaddle /* static */
Added GCButtonElementName.leftShoulder /* static */
Added GCButtonElementName.leftThumbstickButton /* static */
Added GCButtonElementName.leftTrigger /* static */
Added GCButtonElementName.menu /* static */
Added GCButtonElementName.options /* static */
Added GCButtonElementName.pedalAccelerator /* static */
Added GCButtonElementName.pedalBrake /* static */
Added GCButtonElementName.pedalClutch /* static */
Added GCButtonElementName.rightPaddle /* static */
Added GCButtonElementName.rightShoulder /* static */
Added GCButtonElementName.rightThumbstickButton /* static */
Added GCButtonElementName.rightTrigger /* static */
Added GCButtonElementName.share /* static */
Added GCButtonElementName.x /* static */
Added GCButtonElementName.y /* static */
Added GCButtonElementName.init(rawValue:)
Added GCButtonElementName.rawValue
Added GCButtonElementName.RawValue
GCDirectionPadElementName
Added GCDirectionPadElementName
Added GCDirectionPadElementName.directionPad /* static */
Added GCDirectionPadElementName.leftThumbstick /* static */
Added GCDirectionPadElementName.rightThumbstick /* static */
Added GCDirectionPadElementName.init(rawValue:)
Added GCDirectionPadElementName.rawValue
Added GCDirectionPadElementName.RawValue
GCPhysicalInputElementCollection
Added GCPhysicalInputElementCollection
Added GCPhysicalInputElementCollection.endIndex
Added GCPhysicalInputElementCollection.startIndex
Added GCPhysicalInputElementCollection.subscript(elementName:)
Added GCPhysicalInputElementCollection.subscript(position:)
Added GCPhysicalInputElementCollection.index(after:)
Added GCPhysicalInputElementCollection.Element
Added GCPhysicalInputElementCollection.Index
Added GCPhysicalInputElementCollection.Index.<(lhs:rhs:) /* static */
Added GCPhysicalInputElementCollection.Index.==(lhs:rhs:) /* static */
Added GCPhysicalInputElementCollection.Indices
Added GCPhysicalInputElementCollection.Iterator
Added GCPhysicalInputElementCollection.SubSequence
GCPhysicalInputElementName
Added GCPhysicalInputElementName
Added GCPhysicalInputElementName.shifter /* static */
Added GCPhysicalInputElementName.init(rawValue:)
Added GCPhysicalInputElementName.rawValue
Added GCPhysicalInputElementName.RawValue
GCSwitchElementName
Added GCSwitchElementName
Added GCSwitchElementName.init(rawValue:)
Added GCSwitchElementName.rawValue
Added GCSwitchElementName.RawValue