Documentation Archive Developer
Search

GameKit Changes for Swift

GameKit

Added GKError.init(_nsError: NSError)
Added GKGameSessionError.init(_nsError: NSError)
Modified GKAchievement
DeclarationProtocols
From
class GKAchievement : NSObject, NSCoding, NSSecureCoding {
    class func loadAchievementsWithCompletionHandler(_ completionHandler: (([GKAchievement]?, NSError?) -> Void)?)
    class func resetAchievementsWithCompletionHandler(_ completionHandler: ((NSError?) -> Void)?)
    init(identifier identifier: String?)
    init(identifier identifier: String?, player player: GKPlayer)
    class func reportAchievements(_ achievements: [GKAchievement], withCompletionHandler completionHandler: ((NSError?) -> Void)?)
    var identifier: String?
    var percentComplete: Double
    var completed: Bool { get }
    @NSCopying var lastReportedDate: NSDate { get }
    var showsCompletionBanner: Bool
    var player: GKPlayer { get }
}
extension GKAchievement {
    func reportAchievementWithCompletionHandler(_ completionHandler: ((NSError?) -> Void)?)
    init(identifier identifier: String?, forPlayer playerID: String)
    var hidden: Bool { get }
    var playerID: String { get }
}
extension GKAchievement {
    func challengeComposeControllerWithMessage(_ message: String?, players players: [GKPlayer], completionHandler completionHandler: GKChallengeComposeCompletionBlock?) -> UIViewController
    func issueChallengeToPlayers(_ playerIDs: [String]?, message message: String?)
    func selectChallengeablePlayers(_ players: [GKPlayer], withCompletionHandler completionHandler: (([GKPlayer]?, NSError?) -> Void)?)
    class func reportAchievements(_ achievements: [GKAchievement], withEligibleChallenges challenges: [GKChallenge], withCompletionHandler completionHandler: ((NSError?) -> Void)?)
}
extension GKAchievement {
    func selectChallengeablePlayerIDs(_ playerIDs: [String]?, withCompletionHandler completionHandler: (([String]?, NSError?) -> Void)?)
    func challengeComposeControllerWithPlayers(_ playerIDs: [String]?, message message: String?, completionHandler completionHandler: GKChallengeComposeCompletionBlock?) -> UIViewController?
}
NSCoding, NSSecureCoding
To
class GKAchievement : NSObject, NSCoding, NSSecureCoding {
    class func loadAchievements(completionHandler completionHandler: (@escaping ([GKAchievement]?, Error?) -> Swift.Void)? = nil)
    class func resetAchievements(completionHandler completionHandler: (@escaping (Error?) -> Swift.Void)? = nil)
    init(identifier identifier: String?)
    init(identifier identifier: String?, player player: GKPlayer)
    class func report(_ achievements: [GKAchievement], withCompletionHandler completionHandler: (@escaping (Error?) -> Swift.Void)? = nil)
    var identifier: String?
    var percentComplete: Double
    var isCompleted: Bool { get }
    var lastReportedDate: Date { get }
    var showsCompletionBanner: Bool
    var player: GKPlayer? { get }
    func selectChallengeablePlayerIDs(_ playerIDs: [String]?, withCompletionHandler completionHandler: (@escaping ([String]?, Error?) -> Swift.Void)? = nil)
    func issueChallenge(toPlayers playerIDs: [String]?, message message: String?)
    func challengeComposeController(withPlayers playerIDs: [String]?, message message: String?, completionHandler completionHandler: GameKit.GKChallengeComposeCompletionBlock? = nil) -> UIViewController?
    func challengeComposeController(withMessage message: String?, players players: [GKPlayer], completionHandler completionHandler: GameKit.GKChallengeComposeCompletionBlock? = nil) -> UIViewController
    func selectChallengeablePlayers(_ players: [GKPlayer], withCompletionHandler completionHandler: (@escaping ([GKPlayer]?, Error?) -> Swift.Void)? = nil)
    class func report(_ achievements: [GKAchievement], withEligibleChallenges challenges: [GKChallenge], withCompletionHandler completionHandler: (@escaping (Error?) -> Swift.Void)? = nil)
    func report(completionHandler completionHandler: (@escaping (Error?) -> Swift.Void)? = nil)
    init(identifier identifier: String?, forPlayer playerID: String)
    var isHidden: Bool { get }
    var playerID: String { get }
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension GKAchievement : CVarArg {
}
extension GKAchievement : Equatable, Hashable {
    var hashValue: Int { get }
}
extension GKAchievement {
    func report(completionHandler completionHandler: (@escaping (Error?) -> Swift.Void)? = nil)
    init(identifier identifier: String?, forPlayer playerID: String)
    var isHidden: Bool { get }
    var playerID: String { get }
}
extension GKAchievement {
    func challengeComposeController(withMessage message: String?, players players: [GKPlayer], completionHandler completionHandler: GameKit.GKChallengeComposeCompletionBlock? = nil) -> UIViewController
    func selectChallengeablePlayers(_ players: [GKPlayer], withCompletionHandler completionHandler: (@escaping ([GKPlayer]?, Error?) -> Swift.Void)? = nil)
    class func report(_ achievements: [GKAchievement], withEligibleChallenges challenges: [GKChallenge], withCompletionHandler completionHandler: (@escaping (Error?) -> Swift.Void)? = nil)
}
extension GKAchievement {
    func selectChallengeablePlayerIDs(_ playerIDs: [String]?, withCompletionHandler completionHandler: (@escaping ([String]?, Error?) -> Swift.Void)? = nil)
    func issueChallenge(toPlayers playerIDs: [String]?, message message: String?)
    func challengeComposeController(withPlayers playerIDs: [String]?, message message: String?, completionHandler completionHandler: GameKit.GKChallengeComposeCompletionBlock? = nil) -> UIViewController?
}
CVarArg, Equatable, Hashable, NSCoding, NSSecureCoding

Declaration
From
func challengeComposeControllerWithMessage(_ message: String?, players players: [GKPlayer], completionHandler completionHandler: GKChallengeComposeCompletionBlock?) -> UIViewController
To
func challengeComposeController(withMessage message: String?, players players: [GKPlayer], completionHandler completionHandler: GameKit.GKChallengeComposeCompletionBlock? = nil) -> UIViewController

Declaration
From
var completed: Bool { get }
To
var isCompleted: Bool { get }

Declaration
From
@NSCopying var lastReportedDate: NSDate { get }
To
var lastReportedDate: Date { get }

Declaration
From
class func loadAchievementsWithCompletionHandler(_ completionHandler: (([GKAchievement]?, NSError?) -> Void)?)
To
class func loadAchievements(completionHandler completionHandler: (@escaping ([GKAchievement]?, Error?) -> Swift.Void)? = nil)

Declaration
From
var player: GKPlayer { get }
To
var player: GKPlayer? { get }

Declaration
From
class func reportAchievements(_ achievements: [GKAchievement], withCompletionHandler completionHandler: ((NSError?) -> Void)?)
To
class func report(_ achievements: [GKAchievement], withCompletionHandler completionHandler: (@escaping (Error?) -> Swift.Void)? = nil)

Declaration
From
class func reportAchievements(_ achievements: [GKAchievement], withEligibleChallenges challenges: [GKChallenge], withCompletionHandler completionHandler: ((NSError?) -> Void)?)
To
class func report(_ achievements: [GKAchievement], withEligibleChallenges challenges: [GKChallenge], withCompletionHandler completionHandler: (@escaping (Error?) -> Swift.Void)? = nil)

Declaration
From
class func resetAchievementsWithCompletionHandler(_ completionHandler: ((NSError?) -> Void)?)
To
class func resetAchievements(completionHandler completionHandler: (@escaping (Error?) -> Swift.Void)? = nil)

Declaration
From
func selectChallengeablePlayers(_ players: [GKPlayer], withCompletionHandler completionHandler: (([GKPlayer]?, NSError?) -> Void)?)
To
func selectChallengeablePlayers(_ players: [GKPlayer], withCompletionHandler completionHandler: (@escaping ([GKPlayer]?, Error?) -> Swift.Void)? = nil)

DeclarationProtocols
From
class GKAchievementDescription : NSObject, NSCoding, NSSecureCoding {
    class func loadAchievementDescriptionsWithCompletionHandler(_ completionHandler: (([GKAchievementDescription]?, NSError?) -> Void)?)
    var identifier: String? { get }
    var groupIdentifier: String? { get }
    var title: String? { get }
    var achievedDescription: String? { get }
    var unachievedDescription: String? { get }
    var maximumPoints: Int { get }
    var hidden: Bool { get }
    var replayable: Bool { get }
}
extension GKAchievementDescription {
    var image: UIImage? { get }
    func loadImageWithCompletionHandler(_ completionHandler: ((UIImage?, NSError?) -> Void)?)
    class func incompleteAchievementImage() -> UIImage
    class func placeholderCompletedAchievementImage() -> UIImage
}
NSCoding, NSSecureCoding
To
class GKAchievementDescription : NSObject, NSCoding, NSSecureCoding {
    class func loadAchievementDescriptions(completionHandler completionHandler: (@escaping ([GKAchievementDescription]?, Error?) -> Swift.Void)? = nil)
    var identifier: String? { get }
    var groupIdentifier: String? { get }
    var title: String? { get }
    var achievedDescription: String? { get }
    var unachievedDescription: String? { get }
    var maximumPoints: Int { get }
    var isHidden: Bool { get }
    var isReplayable: Bool { get }
    var image: UIImage? { get }
    func loadImage(completionHandler completionHandler: (@escaping (UIImage?, Error?) -> Swift.Void)? = nil)
    class func incompleteAchievementImage() -> UIImage
    class func placeholderCompletedAchievementImage() -> UIImage
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension GKAchievementDescription : CVarArg {
}
extension GKAchievementDescription : Equatable, Hashable {
    var hashValue: Int { get }
}
extension GKAchievementDescription {
    var image: UIImage? { get }
    func loadImage(completionHandler completionHandler: (@escaping (UIImage?, Error?) -> Swift.Void)? = nil)
    class func incompleteAchievementImage() -> UIImage
    class func placeholderCompletedAchievementImage() -> UIImage
}
CVarArg, Equatable, Hashable, NSCoding, NSSecureCoding

Declaration
From
var hidden: Bool { get }
To
var isHidden: Bool { get }

Declaration
From
var replayable: Bool { get }
To
var isReplayable: Bool { get }

Declaration
From
class func loadAchievementDescriptionsWithCompletionHandler(_ completionHandler: (([GKAchievementDescription]?, NSError?) -> Void)?)
To
class func loadAchievementDescriptions(completionHandler completionHandler: (@escaping ([GKAchievementDescription]?, Error?) -> Swift.Void)? = nil)

Declaration
From
func loadImageWithCompletionHandler(_ completionHandler: ((UIImage?, NSError?) -> Void)?)
To
func loadImage(completionHandler completionHandler: (@escaping (UIImage?, Error?) -> Swift.Void)? = nil)

Modified GKChallenge
DeclarationProtocols
From
class GKChallenge : NSObject, NSCoding, NSSecureCoding {
    class func loadReceivedChallengesWithCompletionHandler(_ completionHandler: (([GKChallenge]?, NSError?) -> Void)?)
    func decline()
    var issuingPlayerID: String? { get }
    var receivingPlayerID: String? { get }
    @NSCopying var issuingPlayer: GKPlayer? { get }
    @NSCopying var receivingPlayer: GKPlayer? { get }
    var state: GKChallengeState { get }
    var issueDate: NSDate { get }
    var completionDate: NSDate? { get }
    var message: String? { get }
}
NSCoding, NSSecureCoding
To
class GKChallenge : NSObject, NSCoding, NSSecureCoding {
    class func loadReceivedChallenges(completionHandler completionHandler: (@escaping ([GKChallenge]?, Error?) -> Swift.Void)? = nil)
    func decline()
    var issuingPlayerID: String? { get }
    var receivingPlayerID: String? { get }
    @NSCopying var issuingPlayer: GKPlayer? { get }
    @NSCopying var receivingPlayer: GKPlayer? { get }
    var state: GKChallengeState { get }
    var issueDate: Date { get }
    var completionDate: Date? { get }
    var message: String? { get }
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension GKChallenge : CVarArg {
}
extension GKChallenge : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable, NSCoding, NSSecureCoding

Declaration
From
var completionDate: NSDate? { get }
To
var completionDate: Date? { get }

Declaration
From
var issueDate: NSDate { get }
To
var issueDate: Date { get }

Declaration
From
class func loadReceivedChallengesWithCompletionHandler(_ completionHandler: (([GKChallenge]?, NSError?) -> Void)?)
To
class func loadReceivedChallenges(completionHandler completionHandler: (@escaping ([GKChallenge]?, Error?) -> Swift.Void)? = nil)

Declaration
From
protocol GKChallengeListener : NSObjectProtocol {
    optional func player(_ player: GKPlayer, wantsToPlayChallenge challenge: GKChallenge)
    optional func player(_ player: GKPlayer, didReceiveChallenge challenge: GKChallenge)
    optional func player(_ player: GKPlayer, didCompleteChallenge challenge: GKChallenge, issuedByFriend friendPlayer: GKPlayer)
    optional func player(_ player: GKPlayer, issuedChallengeWasCompleted challenge: GKChallenge, byFriend friendPlayer: GKPlayer)
}
To
protocol GKChallengeListener : NSObjectProtocol {
    optional func player(_ player: GKPlayer, wantsToPlay challenge: GKChallenge)
    optional func player(_ player: GKPlayer, didReceive challenge: GKChallenge)
    optional func player(_ player: GKPlayer, didComplete challenge: GKChallenge, issuedByFriend friendPlayer: GKPlayer)
    optional func player(_ player: GKPlayer, issuedChallengeWasCompleted challenge: GKChallenge, byFriend friendPlayer: GKPlayer)
}

Declaration
From
optional func player(_ player: GKPlayer, didCompleteChallenge challenge: GKChallenge, issuedByFriend friendPlayer: GKPlayer)
To
optional func player(_ player: GKPlayer, didComplete challenge: GKChallenge, issuedByFriend friendPlayer: GKPlayer)

Declaration
From
optional func player(_ player: GKPlayer, didReceiveChallenge challenge: GKChallenge)
To
optional func player(_ player: GKPlayer, didReceive challenge: GKChallenge)

Declaration
From
optional func player(_ player: GKPlayer, wantsToPlayChallenge challenge: GKChallenge)
To
optional func player(_ player: GKPlayer, wantsToPlay challenge: GKChallenge)

Declaration
From
enum GKChallengeState : Int {
    case Invalid
    case Pending
    case Completed
    case Declined
}
To
enum GKChallengeState : Int {
    case invalid
    case pending
    case completed
    case declined
}

Declaration
From
case Completed
To
case completed

Declaration
From
case Declined
To
case declined

Declaration
From
case Invalid
To
case invalid

Declaration
From
case Pending
To
case pending

Declaration
From
enum GKErrorCode : Int {
    case Unknown
    case Cancelled
    case CommunicationsFailure
    case UserDenied
    case InvalidCredentials
    case NotAuthenticated
    case AuthenticationInProgress
    case InvalidPlayer
    case ScoreNotSet
    case ParentalControlsBlocked
    case PlayerStatusExceedsMaximumLength
    case PlayerStatusInvalid
    case MatchRequestInvalid
    case Underage
    case GameUnrecognized
    case NotSupported
    case InvalidParameter
    case UnexpectedConnection
    case ChallengeInvalid
    case TurnBasedMatchDataTooLarge
    case TurnBasedTooManySessions
    case TurnBasedInvalidParticipant
    case TurnBasedInvalidTurn
    case TurnBasedInvalidState
    case InvitationsDisabled
    case PlayerPhotoFailure
    case UbiquityContainerUnavailable
}
extension GKErrorCode : _BridgedNSError {
}
extension GKErrorCode : _BridgedNSError {
}
To
enum Code : Int {
        typealias _ErrorType = GKError
        case unknown
        case cancelled
        case communicationsFailure
        case userDenied
        case invalidCredentials
        case notAuthenticated
        case authenticationInProgress
        case invalidPlayer
        case scoreNotSet
        case parentalControlsBlocked
        case playerStatusExceedsMaximumLength
        case playerStatusInvalid
        case matchRequestInvalid
        case underage
        case gameUnrecognized
        case notSupported
        case invalidParameter
        case unexpectedConnection
        case challengeInvalid
        case turnBasedMatchDataTooLarge
        case turnBasedTooManySessions
        case turnBasedInvalidParticipant
        case turnBasedInvalidTurn
        case turnBasedInvalidState
        case invitationsDisabled
        case playerPhotoFailure
        case ubiquityContainerUnavailable
        case matchNotConnected
        case gameSessionRequestInvalid
    }

Declaration
From
case AuthenticationInProgress
To
case authenticationInProgress

Declaration
From
case Cancelled
To
case cancelled

Declaration
From
case ChallengeInvalid
To
case challengeInvalid

Declaration
From
case CommunicationsFailure
To
case communicationsFailure

Declaration
From
case GameUnrecognized
To
case gameUnrecognized

Declaration
From
case InvalidCredentials
To
case invalidCredentials

DeclarationIntroduction
From
case InvalidParameter
tvOS 9.0
To
case invalidParameter
tvOS 10.0

Declaration
From
case InvalidPlayer
To
case invalidPlayer

Declaration
From
case InvitationsDisabled
To
case invitationsDisabled

Declaration
From
case MatchRequestInvalid
To
case matchRequestInvalid

Declaration
From
case NotAuthenticated
To
case notAuthenticated

Declaration
From
case NotSupported
To
case notSupported

Declaration
From
case ParentalControlsBlocked
To
case parentalControlsBlocked

Declaration
From
case PlayerPhotoFailure
To
case playerPhotoFailure

Declaration
From
case PlayerStatusExceedsMaximumLength
To
case playerStatusExceedsMaximumLength

DeclarationIntroduction
From
case PlayerStatusInvalid
tvOS 9.0
To
case playerStatusInvalid
tvOS 10.0

Declaration
From
case ScoreNotSet
To
case scoreNotSet

DeclarationIntroduction
From
case TurnBasedInvalidParticipant
tvOS 9.0
To
case turnBasedInvalidParticipant
tvOS 10.0

Declaration
From
case TurnBasedInvalidState
To
case turnBasedInvalidState

Declaration
From
case TurnBasedInvalidTurn
To
case turnBasedInvalidTurn

Declaration
From
case TurnBasedMatchDataTooLarge
To
case turnBasedMatchDataTooLarge

Declaration
From
case TurnBasedTooManySessions
To
case turnBasedTooManySessions

Declaration
From
case UbiquityContainerUnavailable
To
case ubiquityContainerUnavailable

Declaration
From
case Underage
To
case underage

Declaration
From
case UnexpectedConnection
To
case unexpectedConnection

Declaration
From
case Unknown
To
case unknown

Declaration
From
case UserDenied
To
case userDenied

Declaration
From
func addRecipientsWithEmailAddresses(_ emailAddresses: [String])
To
func addRecipients(withEmailAddresses emailAddresses: [String])

Declaration
From
class GKGameCenterViewController : UINavigationController {
}
extension GKGameCenterViewController {
    unowned(unsafe) var gameCenterDelegate: GKGameCenterControllerDelegate?
    var viewState: GKGameCenterViewControllerState
}
extension GKGameCenterViewController {
    var leaderboardTimeScope: GKLeaderboardTimeScope
    var leaderboardIdentifier: String?
    var leaderboardCategory: String?
}
To
class GKGameCenterViewController : UINavigationController {
    var leaderboardTimeScope: GKLeaderboardTimeScope
    var leaderboardIdentifier: String?
    var leaderboardCategory: String?
    unowned(unsafe) var gameCenterDelegate: GKGameCenterControllerDelegate?
    var viewState: GKGameCenterViewControllerState
}
extension GKGameCenterViewController {
    unowned(unsafe) var gameCenterDelegate: GKGameCenterControllerDelegate?
    var viewState: GKGameCenterViewControllerState
}
extension GKGameCenterViewController {
    var leaderboardTimeScope: GKLeaderboardTimeScope
    var leaderboardIdentifier: String?
    var leaderboardCategory: String?
}

Declaration
From
enum GKGameCenterViewControllerState : Int {
    case Default
    case Leaderboards
    case Achievements
    case Challenges
}
To
enum GKGameCenterViewControllerState : Int {
    case `default`
    case leaderboards
    case achievements
    case challenges
}

Declaration
From
case Achievements
To
case achievements

Declaration
From
case Challenges
To
case challenges

Declaration
From
case Default
To
case `default`

Declaration
From
case Leaderboards
To
case leaderboards

Modified GKInvite
DeclarationProtocols
From
class GKInvite : NSObject {
    var sender: GKPlayer { get }
    var inviter: String { get }
    var hosted: Bool { get }
    var playerGroup: Int { get }
    var playerAttributes: UInt32 { get }
}
--
To
class GKInvite : NSObject {
    var sender: GKPlayer { get }
    var inviter: String { get }
    var isHosted: Bool { get }
    var playerGroup: Int { get }
    var playerAttributes: UInt32 { get }
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension GKInvite : CVarArg {
}
extension GKInvite : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable

Declaration
From
var hosted: Bool { get }
To
var isHosted: Bool { get }

Declaration
From
protocol GKInviteEventListener {
    optional func player(_ player: GKPlayer, didAcceptInvite invite: GKInvite)
    optional func player(_ player: GKPlayer, didRequestMatchWithRecipients recipientPlayers: [GKPlayer])
    optional func player(_ player: GKPlayer, didRequestMatchWithPlayers playerIDsToInvite: [String])
}
To
protocol GKInviteEventListener {
    optional func player(_ player: GKPlayer, didAccept invite: GKInvite)
    optional func player(_ player: GKPlayer, didRequestMatchWithRecipients recipientPlayers: [GKPlayer])
    optional func player(_ player: GKPlayer, didRequestMatchWithPlayers playerIDsToInvite: [String])
}

Declaration
From
optional func player(_ player: GKPlayer, didAcceptInvite invite: GKInvite)
To
optional func player(_ player: GKPlayer, didAccept invite: GKInvite)

Declaration
From
enum GKInviteRecipientResponse : Int {
    case InviteRecipientResponseAccepted
    case InviteRecipientResponseDeclined
    case InviteRecipientResponseFailed
    case InviteRecipientResponseIncompatible
    case InviteRecipientResponseUnableToConnect
    case InviteRecipientResponseNoAnswer
    static var InviteeResponseAccepted: GKInviteRecipientResponse { get }
    static var InviteeResponseDeclined: GKInviteRecipientResponse { get }
    static var InviteeResponseFailed: GKInviteRecipientResponse { get }
    static var InviteeResponseIncompatible: GKInviteRecipientResponse { get }
    static var InviteeResponseUnableToConnect: GKInviteRecipientResponse { get }
    static var InviteeResponseNoAnswer: GKInviteRecipientResponse { get }
}
To
enum GKInviteRecipientResponse : Int {
    case inviteRecipientResponseAccepted
    case inviteRecipientResponseDeclined
    case inviteRecipientResponseFailed
    case inviteRecipientResponseIncompatible
    case inviteRecipientResponseUnableToConnect
    case inviteRecipientResponseNoAnswer
    static var inviteeResponseAccepted: GKInviteRecipientResponse { get }
    static var inviteeResponseDeclined: GKInviteRecipientResponse { get }
    static var inviteeResponseFailed: GKInviteRecipientResponse { get }
    static var inviteeResponseIncompatible: GKInviteRecipientResponse { get }
    static var inviteeResponseUnableToConnect: GKInviteRecipientResponse { get }
    static var inviteeResponseNoAnswer: GKInviteRecipientResponse { get }
}

Declaration
From
static var InviteeResponseAccepted: GKInviteRecipientResponse { get }
To
static var inviteeResponseAccepted: GKInviteRecipientResponse { get }

Declaration
From
static var InviteeResponseDeclined: GKInviteRecipientResponse { get }
To
static var inviteeResponseDeclined: GKInviteRecipientResponse { get }

Declaration
From
static var InviteeResponseFailed: GKInviteRecipientResponse { get }
To
static var inviteeResponseFailed: GKInviteRecipientResponse { get }

Declaration
From
static var InviteeResponseIncompatible: GKInviteRecipientResponse { get }
To
static var inviteeResponseIncompatible: GKInviteRecipientResponse { get }

Declaration
From
static var InviteeResponseNoAnswer: GKInviteRecipientResponse { get }
To
static var inviteeResponseNoAnswer: GKInviteRecipientResponse { get }

Declaration
From
static var InviteeResponseUnableToConnect: GKInviteRecipientResponse { get }
To
static var inviteeResponseUnableToConnect: GKInviteRecipientResponse { get }

Declaration
From
case InviteRecipientResponseAccepted
To
case inviteRecipientResponseAccepted

Declaration
From
case InviteRecipientResponseDeclined
To
case inviteRecipientResponseDeclined

Declaration
From
case InviteRecipientResponseFailed
To
case inviteRecipientResponseFailed

Declaration
From
case InviteRecipientResponseIncompatible
To
case inviteRecipientResponseIncompatible

Declaration
From
case InviteRecipientResponseNoAnswer
To
case inviteRecipientResponseNoAnswer

Declaration
From
case InviteRecipientResponseUnableToConnect
To
case inviteRecipientResponseUnableToConnect

Modified GKLeaderboard
DeclarationProtocols
From
class GKLeaderboard : NSObject {
    var timeScope: GKLeaderboardTimeScope
    var playerScope: GKLeaderboardPlayerScope
    var identifier: String?
    var title: String? { get }
    var range: NSRange
    var scores: [GKScore]? { get }
    var maxRange: Int { get }
    var localPlayerScore: GKScore? { get }
    var loading: Bool { get }
    var groupIdentifier: String? { get }
    init()
    init(players players: [GKPlayer])
    func loadScoresWithCompletionHandler(_ completionHandler: (([GKScore]?, NSError?) -> Void)?)
    class func loadLeaderboardsWithCompletionHandler(_ completionHandler: (([GKLeaderboard]?, NSError?) -> Void)?)
}
extension GKLeaderboard {
    var category: String?
    init?(playerIDs playerIDs: [String]?)
    class func loadCategoriesWithCompletionHandler(_ completionHandler: (([String]?, [String]?, NSError?) -> Void)?)
    class func setDefaultLeaderboard(_ leaderboardIdentifier: String?, withCompletionHandler completionHandler: ((NSError?) -> Void)?)
}
extension GKLeaderboard {
    func loadImageWithCompletionHandler(_ completionHandler: ((UIImage?, NSError?) -> Void)?)
}
--
To
class GKLeaderboard : NSObject {
    var timeScope: GKLeaderboardTimeScope
    var playerScope: GKLeaderboardPlayerScope
    var identifier: String?
    var title: String? { get }
    var range: NSRange
    var scores: [GKScore]? { get }
    var maxRange: Int { get }
    var localPlayerScore: GKScore? { get }
    var isLoading: Bool { get }
    var groupIdentifier: String? { get }
    init()
    init(players players: [GKPlayer])
    func loadScores(completionHandler completionHandler: (@escaping ([GKScore]?, Error?) -> Swift.Void)? = nil)
    class func loadLeaderboards(completionHandler completionHandler: (@escaping ([GKLeaderboard]?, Error?) -> Swift.Void)? = nil)
    func loadImage(completionHandler completionHandler: (@escaping (UIImage?, Error?) -> Swift.Void)? = nil)
    var category: String?
    init?(playerIDs playerIDs: [String]?)
    class func loadCategories(completionHandler completionHandler: (@escaping ([String]?, [String]?, Error?) -> Swift.Void)? = nil)
    class func setDefault(_ leaderboardIdentifier: String?, withCompletionHandler completionHandler: (@escaping (Error?) -> Swift.Void)? = nil)
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension GKLeaderboard : CVarArg {
}
extension GKLeaderboard : Equatable, Hashable {
    var hashValue: Int { get }
}
extension GKLeaderboard {
    var category: String?
    init?(playerIDs playerIDs: [String]?)
    class func loadCategories(completionHandler completionHandler: (@escaping ([String]?, [String]?, Error?) -> Swift.Void)? = nil)
    class func setDefault(_ leaderboardIdentifier: String?, withCompletionHandler completionHandler: (@escaping (Error?) -> Swift.Void)? = nil)
}
extension GKLeaderboard {
    func loadImage(completionHandler completionHandler: (@escaping (UIImage?, Error?) -> Swift.Void)? = nil)
}
CVarArg, Equatable, Hashable

Declaration
From
var loading: Bool { get }
To
var isLoading: Bool { get }

Declaration
From
class func loadLeaderboardsWithCompletionHandler(_ completionHandler: (([GKLeaderboard]?, NSError?) -> Void)?)
To
class func loadLeaderboards(completionHandler completionHandler: (@escaping ([GKLeaderboard]?, Error?) -> Swift.Void)? = nil)

Declaration
From
func loadScoresWithCompletionHandler(_ completionHandler: (([GKScore]?, NSError?) -> Void)?)
To
func loadScores(completionHandler completionHandler: (@escaping ([GKScore]?, Error?) -> Swift.Void)? = nil)

Declaration
From
enum GKLeaderboardPlayerScope : Int {
    case Global
    case FriendsOnly
}
To
enum GKLeaderboardPlayerScope : Int {
    case global
    case friendsOnly
}

Declaration
From
case FriendsOnly
To
case friendsOnly

Declaration
From
case Global
To
case global

DeclarationProtocols
From
class GKLeaderboardSet : NSObject, NSCoding, NSSecureCoding {
    var title: String { get }
    var groupIdentifier: String? { get }
    var identifier: String?
    class func loadLeaderboardSetsWithCompletionHandler(_ completionHandler: (([GKLeaderboardSet]?, NSError?) -> Void)?)
    func loadLeaderboardsWithCompletionHandler(_ completionHandler: (([GKLeaderboard]?, NSError?) -> Void)?)
}
extension GKLeaderboardSet {
    func loadImageWithCompletionHandler(_ completionHandler: ((UIImage?, NSError?) -> Void)?)
}
NSCoding, NSSecureCoding
To
class GKLeaderboardSet : NSObject, NSCoding, NSSecureCoding {
    var title: String { get }
    var groupIdentifier: String? { get }
    var identifier: String?
    class func loadLeaderboardSets(completionHandler completionHandler: (@escaping ([GKLeaderboardSet]?, Error?) -> Swift.Void)? = nil)
    func loadLeaderboards(completionHandler completionHandler: (@escaping ([GKLeaderboard]?, Error?) -> Swift.Void)? = nil)
    func loadImage(completionHandler completionHandler: (@escaping (UIImage?, Error?) -> Swift.Void)? = nil)
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension GKLeaderboardSet : CVarArg {
}
extension GKLeaderboardSet : Equatable, Hashable {
    var hashValue: Int { get }
}
extension GKLeaderboardSet {
    func loadImage(completionHandler completionHandler: (@escaping (UIImage?, Error?) -> Swift.Void)? = nil)
}
CVarArg, Equatable, Hashable, NSCoding, NSSecureCoding

Declaration
From
func loadLeaderboardsWithCompletionHandler(_ completionHandler: (([GKLeaderboard]?, NSError?) -> Void)?)
To
func loadLeaderboards(completionHandler completionHandler: (@escaping ([GKLeaderboard]?, Error?) -> Swift.Void)? = nil)

Declaration
From
class func loadLeaderboardSetsWithCompletionHandler(_ completionHandler: (([GKLeaderboardSet]?, NSError?) -> Void)?)
To
class func loadLeaderboardSets(completionHandler completionHandler: (@escaping ([GKLeaderboardSet]?, Error?) -> Swift.Void)? = nil)

Declaration
From
enum GKLeaderboardTimeScope : Int {
    case Today
    case Week
    case AllTime
}
To
enum GKLeaderboardTimeScope : Int {
    case today
    case week
    case allTime
}

Declaration
From
case AllTime
To
case allTime

Declaration
From
case Today
To
case today

Declaration
From
case Week
To
case week

Modified GKLocalPlayer
Declaration
From
class GKLocalPlayer : GKPlayer {
    class func localPlayer() -> GKLocalPlayer
    var authenticated: Bool { get }
    var underage: Bool { get }
    var authenticateHandler: ((UIViewController?, NSError?) -> Void)?
    func loadFriendPlayersWithCompletionHandler(_ completionHandler: (([GKPlayer]?, NSError?) -> Void)?)
    func setDefaultLeaderboardIdentifier(_ leaderboardIdentifier: String, completionHandler completionHandler: ((NSError?) -> Void)?)
    func loadDefaultLeaderboardIdentifierWithCompletionHandler(_ completionHandler: ((String?, NSError?) -> Void)?)
    func generateIdentityVerificationSignatureWithCompletionHandler(_ completionHandler: ((NSURL?, NSData?, NSData?, UInt64, NSError?) -> Void)?)
}
extension GKLocalPlayer {
    func registerListener(_ listener: GKLocalPlayerListener)
    func unregisterListener(_ listener: GKLocalPlayerListener)
    func unregisterAllListeners()
}
extension GKLocalPlayer {
    func setDefaultLeaderboardCategoryID(_ categoryID: String?, completionHandler completionHandler: ((NSError?) -> Void)?)
    func loadDefaultLeaderboardCategoryIDWithCompletionHandler(_ completionHandler: ((String?, NSError?) -> Void)?)
    func loadFriendsWithCompletionHandler(_ completionHandler: (([String]?, NSError?) -> Void)?)
    func authenticateWithCompletionHandler(_ completionHandler: ((NSError?) -> Void)?)
    var friends: [String]? { get }
}
extension GKLocalPlayer : GKSavedGameListener {
    func fetchSavedGamesWithCompletionHandler(_ handler: (([GKSavedGame]?, NSError?) -> Void)?)
    func saveGameData(_ data: NSData, withName name: String, completionHandler handler: ((GKSavedGame?, NSError?) -> Void)?)
    func deleteSavedGamesWithName(_ name: String, completionHandler handler: ((NSError?) -> Void)?)
    func resolveConflictingSavedGames(_ conflictingSavedGames: [GKSavedGame], withData data: NSData, completionHandler handler: (([GKSavedGame]?, NSError?) -> Void)?)
}
To
class GKLocalPlayer : GKPlayer {
    class func localPlayer() -> GKLocalPlayer
    var isAuthenticated: Bool { get }
    var isUnderage: Bool { get }
    var authenticateHandler: ((UIViewController?, Error?) -> Swift.Void)?
    func loadRecentPlayers(completionHandler completionHandler: (@escaping ([GKPlayer]?, Error?) -> Swift.Void)? = nil)
    func setDefaultLeaderboardIdentifier(_ leaderboardIdentifier: String, completionHandler completionHandler: (@escaping (Error?) -> Swift.Void)? = nil)
    func loadDefaultLeaderboardIdentifier(completionHandler completionHandler: (@escaping (String?, Error?) -> Swift.Void)? = nil)
    func generateIdentityVerificationSignature(completionHandler completionHandler: (@escaping (URL?, Data?, Data?, UInt64, Error?) -> Swift.Void)? = nil)
    func setDefaultLeaderboardCategoryID(_ categoryID: String?, completionHandler completionHandler: (@escaping (Error?) -> Swift.Void)? = nil)
    func loadDefaultLeaderboardCategoryID(completionHandler completionHandler: (@escaping (String?, Error?) -> Swift.Void)? = nil)
    func loadFriends(completionHandler completionHandler: (@escaping ([String]?, Error?) -> Swift.Void)? = nil)
    func authenticate(completionHandler completionHandler: (@escaping (Error?) -> Swift.Void)? = nil)
    var friends: [String]? { get }
    func loadFriendPlayers(completionHandler completionHandler: (@escaping ([GKPlayer]?, Error?) -> Swift.Void)? = nil)
    func register(_ listener: GKLocalPlayerListener)
    func unregisterListener(_ listener: GKLocalPlayerListener)
    func unregisterAllListeners()
    var isFriend: Bool { get }
    func loadPhoto(forSize size: GKPhotoSize, withCompletionHandler completionHandler: (@escaping (UIImage?, Error?) -> Void)? = nil)
}
extension GKLocalPlayer : GKSavedGameListener {
    func fetchSavedGames(completionHandler handler: (@escaping ([GKSavedGame]?, Error?) -> Swift.Void)? = nil)
    func saveGameData(_ data: Data, withName name: String, completionHandler handler: (@escaping (GKSavedGame?, Error?) -> Swift.Void)? = nil)
    func deleteSavedGames(withName name: String, completionHandler handler: (@escaping (Error?) -> Swift.Void)? = nil)
    func resolveConflictingSavedGames(_ conflictingSavedGames: [GKSavedGame], with data: Data, completionHandler handler: (@escaping ([GKSavedGame]?, Error?) -> Swift.Void)? = nil)
}
extension GKLocalPlayer {
    func register(_ listener: GKLocalPlayerListener)
    func unregisterListener(_ listener: GKLocalPlayerListener)
    func unregisterAllListeners()
}
extension GKLocalPlayer {
    func setDefaultLeaderboardCategoryID(_ categoryID: String?, completionHandler completionHandler: (@escaping (Error?) -> Swift.Void)? = nil)
    func loadDefaultLeaderboardCategoryID(completionHandler completionHandler: (@escaping (String?, Error?) -> Swift.Void)? = nil)
    func loadFriends(completionHandler completionHandler: (@escaping ([String]?, Error?) -> Swift.Void)? = nil)
    func authenticate(completionHandler completionHandler: (@escaping (Error?) -> Swift.Void)? = nil)
    var friends: [String]? { get }
    func loadFriendPlayers(completionHandler completionHandler: (@escaping ([GKPlayer]?, Error?) -> Swift.Void)? = nil)
}
extension GKLocalPlayer : GKSavedGameListener {
    func fetchSavedGames(completionHandler handler: (@escaping ([GKSavedGame]?, Error?) -> Swift.Void)? = nil)
    func saveGameData(_ data: Data, withName name: String, completionHandler handler: (@escaping (GKSavedGame?, Error?) -> Swift.Void)? = nil)
    func deleteSavedGames(withName name: String, completionHandler handler: (@escaping (Error?) -> Swift.Void)? = nil)
    func resolveConflictingSavedGames(_ conflictingSavedGames: [GKSavedGame], with data: Data, completionHandler handler: (@escaping ([GKSavedGame]?, Error?) -> Swift.Void)? = nil)
}

Declaration
From
var authenticateHandler: ((UIViewController?, NSError?) -> Void)?
To
var authenticateHandler: ((UIViewController?, Error?) -> Swift.Void)?

Declaration
From
func generateIdentityVerificationSignatureWithCompletionHandler(_ completionHandler: ((NSURL?, NSData?, NSData?, UInt64, NSError?) -> Void)?)
To
func generateIdentityVerificationSignature(completionHandler completionHandler: (@escaping (URL?, Data?, Data?, UInt64, Error?) -> Swift.Void)? = nil)

Declaration
From
var authenticated: Bool { get }
To
var isAuthenticated: Bool { get }

Declaration
From
var underage: Bool { get }
To
var isUnderage: Bool { get }

Declaration
From
func loadDefaultLeaderboardIdentifierWithCompletionHandler(_ completionHandler: ((String?, NSError?) -> Void)?)
To
func loadDefaultLeaderboardIdentifier(completionHandler completionHandler: (@escaping (String?, Error?) -> Swift.Void)? = nil)

DeclarationDeprecation
From
func loadFriendPlayersWithCompletionHandler(_ completionHandler: (([GKPlayer]?, NSError?) -> Void)?)
--
To
func loadFriendPlayers(completionHandler completionHandler: (@escaping ([GKPlayer]?, Error?) -> Swift.Void)? = nil)
tvOS 10.0

Declaration
From
func registerListener(_ listener: GKLocalPlayerListener)
To
func register(_ listener: GKLocalPlayerListener)

Declaration
From
func setDefaultLeaderboardIdentifier(_ leaderboardIdentifier: String, completionHandler completionHandler: ((NSError?) -> Void)?)
To
func setDefaultLeaderboardIdentifier(_ leaderboardIdentifier: String, completionHandler completionHandler: (@escaping (Error?) -> Swift.Void)? = nil)

Modified GKMatch
DeclarationProtocols
From
class GKMatch : NSObject {
    var players: [GKPlayer] { get }
    unowned(unsafe) var delegate: GKMatchDelegate?
    var expectedPlayerCount: Int { get }
    func sendData(_ data: NSData, toPlayers players: [GKPlayer], dataMode mode: GKMatchSendDataMode) throws
    func sendDataToAllPlayers(_ data: NSData, withDataMode mode: GKMatchSendDataMode) throws
    func disconnect()
    func voiceChatWithName(_ name: String) -> GKVoiceChat?
    func chooseBestHostingPlayerWithCompletionHandler(_ completionHandler: (GKPlayer?) -> Void)
    func rematchWithCompletionHandler(_ completionHandler: ((GKMatch?, NSError?) -> Void)?)
}
extension GKMatch {
    func chooseBestHostPlayerWithCompletionHandler(_ completionHandler: (String?) -> Void)
    func sendData(_ data: NSData, toPlayers playerIDs: [String], withDataMode mode: GKMatchSendDataMode) throws
    var playerIDs: [String] { get }
}
--
To
class GKMatch : NSObject {
    var players: [GKPlayer] { get }
    unowned(unsafe) var delegate: GKMatchDelegate?
    var expectedPlayerCount: Int { get }
    func send(_ data: Data, to players: [GKPlayer], dataMode mode: GKMatchSendDataMode) throws
    func sendData(toAllPlayers data: Data, with mode: GKMatchSendDataMode) throws
    func disconnect()
    func voiceChat(withName name: String) -> GKVoiceChat?
    func chooseBestHostingPlayer(completionHandler completionHandler: @escaping (GKPlayer?) -> Swift.Void)
    func rematch(completionHandler completionHandler: (@escaping (GKMatch?, Error?) -> Swift.Void)? = nil)
    func chooseBestHostPlayer(completionHandler completionHandler: @escaping (String?) -> Swift.Void)
    func send(_ data: Data, toPlayers playerIDs: [String], with mode: GKMatchSendDataMode) throws
    var playerIDs: [String] { get }
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension GKMatch : CVarArg {
}
extension GKMatch : Equatable, Hashable {
    var hashValue: Int { get }
}
extension GKMatch {
    func chooseBestHostPlayer(completionHandler completionHandler: @escaping (String?) -> Swift.Void)
    func send(_ data: Data, toPlayers playerIDs: [String], with mode: GKMatchSendDataMode) throws
    var playerIDs: [String] { get }
}
CVarArg, Equatable, Hashable

Declaration
From
func chooseBestHostingPlayerWithCompletionHandler(_ completionHandler: (GKPlayer?) -> Void)
To
func chooseBestHostingPlayer(completionHandler completionHandler: @escaping (GKPlayer?) -> Swift.Void)

Declaration
From
func rematchWithCompletionHandler(_ completionHandler: ((GKMatch?, NSError?) -> Void)?)
To
func rematch(completionHandler completionHandler: (@escaping (GKMatch?, Error?) -> Swift.Void)? = nil)

Declaration
From
func sendData(_ data: NSData, toPlayers players: [GKPlayer], dataMode mode: GKMatchSendDataMode) throws
To
func send(_ data: Data, to players: [GKPlayer], dataMode mode: GKMatchSendDataMode) throws

Declaration
From
func sendDataToAllPlayers(_ data: NSData, withDataMode mode: GKMatchSendDataMode) throws
To
func sendData(toAllPlayers data: Data, with mode: GKMatchSendDataMode) throws

Declaration
From
func voiceChatWithName(_ name: String) -> GKVoiceChat?
To
func voiceChat(withName name: String) -> GKVoiceChat?

Declaration
From
protocol GKMatchDelegate : NSObjectProtocol {
    optional func match(_ match: GKMatch, didReceiveData data: NSData, fromRemotePlayer player: GKPlayer)
    optional func match(_ match: GKMatch, didReceiveData data: NSData, forRecipient recipient: GKPlayer, fromRemotePlayer player: GKPlayer)
    optional func match(_ match: GKMatch, didReceiveData data: NSData, fromPlayer playerID: String)
    optional func match(_ match: GKMatch, player player: GKPlayer, didChangeConnectionState state: GKPlayerConnectionState)
    optional func match(_ match: GKMatch, player playerID: String, didChangeState state: GKPlayerConnectionState)
    optional func match(_ match: GKMatch, didFailWithError error: NSError?)
    optional func match(_ match: GKMatch, shouldReinviteDisconnectedPlayer player: GKPlayer) -> Bool
    optional func match(_ match: GKMatch, shouldReinvitePlayer playerID: String) -> Bool
}
To
protocol GKMatchDelegate : NSObjectProtocol {
    optional func match(_ match: GKMatch, didReceive data: Data, fromRemotePlayer player: GKPlayer)
    optional func match(_ match: GKMatch, didReceive data: Data, forRecipient recipient: GKPlayer, fromRemotePlayer player: GKPlayer)
    optional func match(_ match: GKMatch, didReceive data: Data, fromPlayer playerID: String)
    optional func match(_ match: GKMatch, player player: GKPlayer, didChange state: GKPlayerConnectionState)
    optional func match(_ match: GKMatch, player playerID: String, didChange state: GKPlayerConnectionState)
    optional func match(_ match: GKMatch, didFailWithError error: Error?)
    optional func match(_ match: GKMatch, shouldReinviteDisconnectedPlayer player: GKPlayer) -> Bool
    optional func match(_ match: GKMatch, shouldReinvitePlayer playerID: String) -> Bool
}

Declaration
From
optional func match(_ match: GKMatch, didFailWithError error: NSError?)
To
optional func match(_ match: GKMatch, didFailWithError error: Error?)

Declaration
From
optional func match(_ match: GKMatch, didReceiveData data: NSData, forRecipient recipient: GKPlayer, fromRemotePlayer player: GKPlayer)
To
optional func match(_ match: GKMatch, didReceive data: Data, forRecipient recipient: GKPlayer, fromRemotePlayer player: GKPlayer)

Declaration
From
optional func match(_ match: GKMatch, didReceiveData data: NSData, fromRemotePlayer player: GKPlayer)
To
optional func match(_ match: GKMatch, didReceive data: Data, fromRemotePlayer player: GKPlayer)

Declaration
From
optional func match(_ match: GKMatch, player player: GKPlayer, didChangeConnectionState state: GKPlayerConnectionState)
To
optional func match(_ match: GKMatch, player player: GKPlayer, didChange state: GKPlayerConnectionState)

Modified GKMatchmaker
DeclarationProtocols
From
class GKMatchmaker : NSObject {
    class func sharedMatchmaker() -> GKMatchmaker
    func matchForInvite(_ invite: GKInvite, completionHandler completionHandler: ((GKMatch?, NSError?) -> Void)?)
    func findMatchForRequest(_ request: GKMatchRequest, withCompletionHandler completionHandler: ((GKMatch?, NSError?) -> Void)?)
    func findPlayersForHostedRequest(_ request: GKMatchRequest, withCompletionHandler completionHandler: (([GKPlayer]?, NSError?) -> Void)?)
    func addPlayersToMatch(_ match: GKMatch, matchRequest matchRequest: GKMatchRequest, completionHandler completionHandler: ((NSError?) -> Void)?)
    func cancel()
    func cancelPendingInviteToPlayer(_ player: GKPlayer)
    func finishMatchmakingForMatch(_ match: GKMatch)
    func queryPlayerGroupActivity(_ playerGroup: Int, withCompletionHandler completionHandler: ((Int, NSError?) -> Void)?)
    func queryActivityWithCompletionHandler(_ completionHandler: ((Int, NSError?) -> Void)?)
    func startBrowsingForNearbyPlayersWithHandler(_ reachableHandler: ((GKPlayer, Bool) -> Void)?)
    func stopBrowsingForNearbyPlayers()
}
extension GKMatchmaker {
    var inviteHandler: ((GKInvite, [AnyObject]?) -> Void)?
    func startBrowsingForNearbyPlayersWithReachableHandler(_ reachableHandler: ((String, Bool) -> Void)?)
    func cancelInviteToPlayer(_ playerID: String)
    func findPlayersForHostedMatchRequest(_ request: GKMatchRequest, withCompletionHandler completionHandler: (([String]?, NSError?) -> Void)?)
}
--
To
class GKMatchmaker : NSObject {
    class func shared() -> GKMatchmaker
    func match(for invite: GKInvite, completionHandler completionHandler: (@escaping (GKMatch?, Error?) -> Swift.Void)? = nil)
    func findMatch(for request: GKMatchRequest, withCompletionHandler completionHandler: (@escaping (GKMatch?, Error?) -> Swift.Void)? = nil)
    func findPlayers(forHostedRequest request: GKMatchRequest, withCompletionHandler completionHandler: (@escaping ([GKPlayer]?, Error?) -> Swift.Void)? = nil)
    func addPlayers(to match: GKMatch, matchRequest matchRequest: GKMatchRequest, completionHandler completionHandler: (@escaping (Error?) -> Swift.Void)? = nil)
    func cancel()
    func cancelPendingInvite(to player: GKPlayer)
    func finishMatchmaking(for match: GKMatch)
    func queryPlayerGroupActivity(_ playerGroup: Int, withCompletionHandler completionHandler: (@escaping (Int, Error?) -> Swift.Void)? = nil)
    func queryActivity(completionHandler completionHandler: (@escaping (Int, Error?) -> Swift.Void)? = nil)
    func startBrowsingForNearbyPlayers(handler reachableHandler: (@escaping (GKPlayer, Bool) -> Swift.Void)? = nil)
    func stopBrowsingForNearbyPlayers()
    var inviteHandler: ((GKInvite, [Any]?) -> Swift.Void)?
    func startBrowsingForNearbyPlayers(reachableHandler reachableHandler: (@escaping (String, Bool) -> Swift.Void)? = nil)
    func cancelInvite(toPlayer playerID: String)
    func findPlayers(forHostedMatchRequest request: GKMatchRequest, withCompletionHandler completionHandler: (@escaping ([String]?, Error?) -> Swift.Void)? = nil)
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension GKMatchmaker : CVarArg {
}
extension GKMatchmaker : Equatable, Hashable {
    var hashValue: Int { get }
}
extension GKMatchmaker {
    var inviteHandler: ((GKInvite, [Any]?) -> Swift.Void)?
    func startBrowsingForNearbyPlayers(reachableHandler reachableHandler: (@escaping (String, Bool) -> Swift.Void)? = nil)
    func cancelInvite(toPlayer playerID: String)
    func findPlayers(forHostedMatchRequest request: GKMatchRequest, withCompletionHandler completionHandler: (@escaping ([String]?, Error?) -> Swift.Void)? = nil)
}
CVarArg, Equatable, Hashable

Declaration
From
func addPlayersToMatch(_ match: GKMatch, matchRequest matchRequest: GKMatchRequest, completionHandler completionHandler: ((NSError?) -> Void)?)
To
func addPlayers(to match: GKMatch, matchRequest matchRequest: GKMatchRequest, completionHandler completionHandler: (@escaping (Error?) -> Swift.Void)? = nil)

Declaration
From
func cancelPendingInviteToPlayer(_ player: GKPlayer)
To
func cancelPendingInvite(to player: GKPlayer)

Declaration
From
func findMatchForRequest(_ request: GKMatchRequest, withCompletionHandler completionHandler: ((GKMatch?, NSError?) -> Void)?)
To
func findMatch(for request: GKMatchRequest, withCompletionHandler completionHandler: (@escaping (GKMatch?, Error?) -> Swift.Void)? = nil)

Declaration
From
func findPlayersForHostedRequest(_ request: GKMatchRequest, withCompletionHandler completionHandler: (([GKPlayer]?, NSError?) -> Void)?)
To
func findPlayers(forHostedRequest request: GKMatchRequest, withCompletionHandler completionHandler: (@escaping ([GKPlayer]?, Error?) -> Swift.Void)? = nil)

Declaration
From
func finishMatchmakingForMatch(_ match: GKMatch)
To
func finishMatchmaking(for match: GKMatch)

Declaration
From
func matchForInvite(_ invite: GKInvite, completionHandler completionHandler: ((GKMatch?, NSError?) -> Void)?)
To
func match(for invite: GKInvite, completionHandler completionHandler: (@escaping (GKMatch?, Error?) -> Swift.Void)? = nil)

Declaration
From
func queryActivityWithCompletionHandler(_ completionHandler: ((Int, NSError?) -> Void)?)
To
func queryActivity(completionHandler completionHandler: (@escaping (Int, Error?) -> Swift.Void)? = nil)

Declaration
From
func queryPlayerGroupActivity(_ playerGroup: Int, withCompletionHandler completionHandler: ((Int, NSError?) -> Void)?)
To
func queryPlayerGroupActivity(_ playerGroup: Int, withCompletionHandler completionHandler: (@escaping (Int, Error?) -> Swift.Void)? = nil)

Declaration
From
class func sharedMatchmaker() -> GKMatchmaker
To
class func shared() -> GKMatchmaker

Declaration
From
func startBrowsingForNearbyPlayersWithHandler(_ reachableHandler: ((GKPlayer, Bool) -> Void)?)
To
func startBrowsingForNearbyPlayers(handler reachableHandler: (@escaping (GKPlayer, Bool) -> Swift.Void)? = nil)

Declaration
From
class GKMatchmakerViewController : UINavigationController {
    unowned(unsafe) var matchmakerDelegate: GKMatchmakerViewControllerDelegate?
    var matchRequest: GKMatchRequest { get }
    var hosted: Bool
    init?(matchRequest request: GKMatchRequest)
    init?(invite invite: GKInvite)
    func addPlayersToMatch(_ match: GKMatch)
    func setHostedPlayer(_ playerID: String, connected connected: Bool)
    func setHostedPlayer(_ player: GKPlayer, didConnect connected: Bool)
    func setHostedPlayerReady(_ playerID: String)
    var defaultInvitationMessage: String?
}
To
class GKMatchmakerViewController : UINavigationController {
    unowned(unsafe) var matchmakerDelegate: GKMatchmakerViewControllerDelegate?
    var matchRequest: GKMatchRequest { get }
    var isHosted: Bool
    init?(matchRequest request: GKMatchRequest)
    init?(invite invite: GKInvite)
    func addPlayers(to match: GKMatch)
    func setHostedPlayer(_ playerID: String, connected connected: Bool)
    func setHostedPlayer(_ player: GKPlayer, didConnect connected: Bool)
    func setHostedPlayerReady(_ playerID: String)
    var defaultInvitationMessage: String?
}

Declaration
From
func addPlayersToMatch(_ match: GKMatch)
To
func addPlayers(to match: GKMatch)

Declaration
From
var hosted: Bool
To
var isHosted: Bool

Declaration
From
protocol GKMatchmakerViewControllerDelegate : NSObjectProtocol {
    func matchmakerViewControllerWasCancelled(_ viewController: GKMatchmakerViewController)
    func matchmakerViewController(_ viewController: GKMatchmakerViewController, didFailWithError error: NSError)
    optional func matchmakerViewController(_ viewController: GKMatchmakerViewController, didFindMatch match: GKMatch)
    optional func matchmakerViewController(_ viewController: GKMatchmakerViewController, didFindHostedPlayers players: [GKPlayer])
    optional func matchmakerViewController(_ viewController: GKMatchmakerViewController, didFindPlayers playerIDs: [String])
    optional func matchmakerViewController(_ viewController: GKMatchmakerViewController, hostedPlayerDidAccept player: GKPlayer)
    optional func matchmakerViewController(_ viewController: GKMatchmakerViewController, didReceiveAcceptFromHostedPlayer playerID: String)
}
To
protocol GKMatchmakerViewControllerDelegate : NSObjectProtocol {
    func matchmakerViewControllerWasCancelled(_ viewController: GKMatchmakerViewController)
    func matchmakerViewController(_ viewController: GKMatchmakerViewController, didFailWithError error: Error)
    optional func matchmakerViewController(_ viewController: GKMatchmakerViewController, didFind match: GKMatch)
    optional func matchmakerViewController(_ viewController: GKMatchmakerViewController, didFindHostedPlayers players: [GKPlayer])
    optional func matchmakerViewController(_ viewController: GKMatchmakerViewController, didFindPlayers playerIDs: [String])
    optional func matchmakerViewController(_ viewController: GKMatchmakerViewController, hostedPlayerDidAccept player: GKPlayer)
    optional func matchmakerViewController(_ viewController: GKMatchmakerViewController, didReceiveAcceptFromHostedPlayer playerID: String)
}

Declaration
From
func matchmakerViewController(_ viewController: GKMatchmakerViewController, didFailWithError error: NSError)
To
func matchmakerViewController(_ viewController: GKMatchmakerViewController, didFailWithError error: Error)

Declaration
From
optional func matchmakerViewController(_ viewController: GKMatchmakerViewController, didFindMatch match: GKMatch)
To
optional func matchmakerViewController(_ viewController: GKMatchmakerViewController, didFind match: GKMatch)

DeclarationProtocols
From
class GKMatchRequest : NSObject {
    var minPlayers: Int
    var maxPlayers: Int
    var playerGroup: Int
    var playerAttributes: UInt32
    var recipients: [GKPlayer]?
    var playersToInvite: [String]?
    var inviteMessage: String?
    var defaultNumberOfPlayers: Int
    var recipientResponseHandler: ((GKPlayer, GKInviteRecipientResponse) -> Void)?
    var inviteeResponseHandler: ((String, GKInviteeResponse) -> Void)?
    class func maxPlayersAllowedForMatchOfType(_ matchType: GKMatchType) -> Int
}
--
To
class GKMatchRequest : NSObject {
    var minPlayers: Int
    var maxPlayers: Int
    var playerGroup: Int
    var playerAttributes: UInt32
    var recipients: [GKPlayer]?
    var playersToInvite: [String]?
    var inviteMessage: String?
    var defaultNumberOfPlayers: Int
    var recipientResponseHandler: ((GKPlayer, GKInviteRecipientResponse) -> Swift.Void)?
    var inviteeResponseHandler: ((String, GKInviteeResponse) -> Swift.Void)?
    class func maxPlayersAllowedForMatch(of matchType: GKMatchType) -> Int
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension GKMatchRequest : CVarArg {
}
extension GKMatchRequest : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable

Declaration
From
class func maxPlayersAllowedForMatchOfType(_ matchType: GKMatchType) -> Int
To
class func maxPlayersAllowedForMatch(of matchType: GKMatchType) -> Int

Declaration
From
var recipientResponseHandler: ((GKPlayer, GKInviteRecipientResponse) -> Void)?
To
var recipientResponseHandler: ((GKPlayer, GKInviteRecipientResponse) -> Swift.Void)?

Declaration
From
enum GKMatchSendDataMode : Int {
    case Reliable
    case Unreliable
}
To
enum GKMatchSendDataMode : Int {
    case reliable
    case unreliable
}

Declaration
From
case Reliable
To
case reliable

Declaration
From
case Unreliable
To
case unreliable

Declaration
From
enum GKMatchType : UInt {
    case PeerToPeer
    case Hosted
    case TurnBased
}
To
enum GKMatchType : UInt {
    case peerToPeer
    case hosted
    case turnBased
}

Declaration
From
case Hosted
To
case hosted

Declaration
From
case PeerToPeer
To
case peerToPeer

Declaration
From
case TurnBased
To
case turnBased

DeclarationProtocols
From
class GKNotificationBanner : NSObject {
    class func showBannerWithTitle(_ title: String?, message message: String?, completionHandler completionHandler: (() -> Void)?)
    class func showBannerWithTitle(_ title: String?, message message: String?, duration duration: NSTimeInterval, completionHandler completionHandler: (() -> Void)?)
}
--
To
class GKNotificationBanner : NSObject {
    class func show(withTitle title: String?, message message: String?, completionHandler completionHandler: (@escaping () -> Swift.Void)? = nil)
    class func show(withTitle title: String?, message message: String?, duration duration: TimeInterval, completionHandler completionHandler: (@escaping () -> Swift.Void)? = nil)
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension GKNotificationBanner : CVarArg {
}
extension GKNotificationBanner : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable

Declaration
From
class func showBannerWithTitle(_ title: String?, message message: String?, completionHandler completionHandler: (() -> Void)?)
To
class func show(withTitle title: String?, message message: String?, completionHandler completionHandler: (@escaping () -> Swift.Void)? = nil)

Declaration
From
class func showBannerWithTitle(_ title: String?, message message: String?, duration duration: NSTimeInterval, completionHandler completionHandler: (() -> Void)?)
To
class func show(withTitle title: String?, message message: String?, duration duration: TimeInterval, completionHandler completionHandler: (@escaping () -> Swift.Void)? = nil)

Modified GKPlayer
DeclarationSuperclasses
From
class GKPlayer : NSObject {
    class func loadPlayersForIdentifiers(_ identifiers: [String], withCompletionHandler completionHandler: (([GKPlayer]?, NSError?) -> Void)?)
    var playerID: String? { get }
    var displayName: String? { get }
    var alias: String? { get }
    class func anonymousGuestPlayerWithIdentifier(_ guestIdentifier: String) -> Self
    var guestIdentifier: String? { get }
}
extension GKPlayer {
    func loadPhotoForSize(_ size: GKPhotoSize, withCompletionHandler completionHandler: ((UIImage?, NSError?) -> Void)?)
}
extension GKPlayer {
    var isFriend: Bool { get }
}
NSObject
To
class GKPlayer : GKBasePlayer {
    class func loadPlayers(forIdentifiers identifiers: [String], withCompletionHandler completionHandler: (@escaping ([GKPlayer]?, Error?) -> Swift.Void)? = nil)
    var playerID: String? { get }
    var displayName: String? { get }
    var alias: String? { get }
    class func anonymousGuestPlayer(withIdentifier guestIdentifier: String) -> Self
    var guestIdentifier: String? { get }
    var isFriend: Bool { get }
    func loadPhoto(forSize size: GKPhotoSize, withCompletionHandler completionHandler: (@escaping (UIImage?, Error?) -> Swift.Void)? = nil)
}
extension GKPlayer {
    func loadPhoto(forSize size: GKPhotoSize, withCompletionHandler completionHandler: (@escaping (UIImage?, Error?) -> Swift.Void)? = nil)
}
extension GKPlayer {
    var isFriend: Bool { get }
}
GKBasePlayer

Declaration
From
class func anonymousGuestPlayerWithIdentifier(_ guestIdentifier: String) -> Self
To
class func anonymousGuestPlayer(withIdentifier guestIdentifier: String) -> Self

Declaration
From
func loadPhotoForSize(_ size: GKPhotoSize, withCompletionHandler completionHandler: ((UIImage?, NSError?) -> Void)?)
To
func loadPhoto(forSize size: GKPhotoSize, withCompletionHandler completionHandler: (@escaping (UIImage?, Error?) -> Swift.Void)? = nil)

Declaration
From
class func loadPlayersForIdentifiers(_ identifiers: [String], withCompletionHandler completionHandler: (([GKPlayer]?, NSError?) -> Void)?)
To
class func loadPlayers(forIdentifiers identifiers: [String], withCompletionHandler completionHandler: (@escaping ([GKPlayer]?, Error?) -> Swift.Void)? = nil)

Declaration
From
enum GKPlayerConnectionState : Int {
    case StateUnknown
    case StateConnected
    case StateDisconnected
}
To
enum GKPlayerConnectionState : Int {
    case stateUnknown
    case stateConnected
    case stateDisconnected
}

Declaration
From
case StateConnected
To
case stateConnected

Declaration
From
case StateDisconnected
To
case stateDisconnected

Declaration
From
case StateUnknown
To
case stateUnknown

Modified GKScore
DeclarationProtocols
From
class GKScore : NSObject, NSCoding, NSSecureCoding {
    init(leaderboardIdentifier identifier: String)
    init(leaderboardIdentifier identifier: String, player player: GKPlayer)
    var value: Int64
    var formattedValue: String? { get }
    var leaderboardIdentifier: String
    var context: UInt64
    var date: NSDate { get }
    var player: GKPlayer { get }
    var rank: Int { get }
    var shouldSetDefaultLeaderboard: Bool
    class func reportScores(_ scores: [GKScore], withCompletionHandler completionHandler: ((NSError?) -> Void)?)
}
extension GKScore {
    func challengeComposeControllerWithMessage(_ message: String?, players players: [GKPlayer]?, completionHandler completionHandler: GKChallengeComposeCompletionBlock?) -> UIViewController
    func issueChallengeToPlayers(_ playerIDs: [String]?, message message: String?)
    class func reportScores(_ scores: [GKScore], withEligibleChallenges challenges: [GKChallenge], withCompletionHandler completionHandler: ((NSError?) -> Void)?)
}
extension GKScore {
    func challengeComposeControllerWithPlayers(_ playerIDs: [String]?, message message: String?, completionHandler completionHandler: GKChallengeComposeCompletionBlock?) -> UIViewController?
}
extension GKScore {
    init(leaderboardIdentifier identifier: String, forPlayer playerID: String)
    func reportScoreWithCompletionHandler(_ completionHandler: ((NSError?) -> Void)?)
    init(category category: String?)
    var playerID: String { get }
    var category: String?
}
NSCoding, NSSecureCoding
To
class GKScore : NSObject, NSCoding, NSSecureCoding {
    init(leaderboardIdentifier identifier: String)
    init(leaderboardIdentifier identifier: String, player player: GKPlayer)
    var value: Int64
    var formattedValue: String? { get }
    var leaderboardIdentifier: String
    var context: UInt64
    var date: Date { get }
    var player: GKPlayer? { get }
    var rank: Int { get }
    var shouldSetDefaultLeaderboard: Bool
    class func report(_ scores: [GKScore], withCompletionHandler completionHandler: (@escaping (Error?) -> Swift.Void)? = nil)
    func challengeComposeController(withPlayers playerIDs: [String]?, message message: String?, completionHandler completionHandler: GameKit.GKChallengeComposeCompletionBlock? = nil) -> UIViewController?
    func challengeComposeController(withMessage message: String?, players players: [GKPlayer]?, completionHandler completionHandler: GameKit.GKChallengeComposeCompletionBlock? = nil) -> UIViewController
    func issueChallenge(toPlayers playerIDs: [String]?, message message: String?)
    class func report(_ scores: [GKScore], withEligibleChallenges challenges: [GKChallenge], withCompletionHandler completionHandler: (@escaping (Error?) -> Swift.Void)? = nil)
    init(leaderboardIdentifier identifier: String, forPlayer playerID: String)
    func report(completionHandler completionHandler: (@escaping (Error?) -> Swift.Void)? = nil)
    init(category category: String?)
    var playerID: String { get }
    var category: String?
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension GKScore {
    func challengeComposeController(withMessage message: String?, players players: [GKPlayer]?, completionHandler completionHandler: GameKit.GKChallengeComposeCompletionBlock? = nil) -> UIViewController
    func issueChallenge(toPlayers playerIDs: [String]?, message message: String?)
    class func report(_ scores: [GKScore], withEligibleChallenges challenges: [GKChallenge], withCompletionHandler completionHandler: (@escaping (Error?) -> Swift.Void)? = nil)
}
extension GKScore {
    func challengeComposeController(withPlayers playerIDs: [String]?, message message: String?, completionHandler completionHandler: GameKit.GKChallengeComposeCompletionBlock? = nil) -> UIViewController?
}
extension GKScore : CVarArg {
}
extension GKScore : Equatable, Hashable {
    var hashValue: Int { get }
}
extension GKScore {
    init(leaderboardIdentifier identifier: String, forPlayer playerID: String)
    func report(completionHandler completionHandler: (@escaping (Error?) -> Swift.Void)? = nil)
    init(category category: String?)
    var playerID: String { get }
    var category: String?
}
CVarArg, Equatable, Hashable, NSCoding, NSSecureCoding

Declaration
From
func challengeComposeControllerWithMessage(_ message: String?, players players: [GKPlayer]?, completionHandler completionHandler: GKChallengeComposeCompletionBlock?) -> UIViewController
To
func challengeComposeController(withMessage message: String?, players players: [GKPlayer]?, completionHandler completionHandler: GameKit.GKChallengeComposeCompletionBlock? = nil) -> UIViewController

Modified GKScore.date
Declaration
From
var date: NSDate { get }
To
var date: Date { get }

Declaration
From
var player: GKPlayer { get }
To
var player: GKPlayer? { get }

Declaration
From
class func reportScores(_ scores: [GKScore], withCompletionHandler completionHandler: ((NSError?) -> Void)?)
To
class func report(_ scores: [GKScore], withCompletionHandler completionHandler: (@escaping (Error?) -> Swift.Void)? = nil)

Declaration
From
class func reportScores(_ scores: [GKScore], withEligibleChallenges challenges: [GKChallenge], withCompletionHandler completionHandler: ((NSError?) -> Void)?)
To
class func report(_ scores: [GKScore], withEligibleChallenges challenges: [GKChallenge], withCompletionHandler completionHandler: (@escaping (Error?) -> Swift.Void)? = nil)

Declaration
From
protocol GKSessionDelegate : NSObjectProtocol {
    optional func session(_ session: GKSession, peer peerID: String, didChangeState state: GKPeerConnectionState)
    optional func session(_ session: GKSession, didReceiveConnectionRequestFromPeer peerID: String)
    optional func session(_ session: GKSession, connectionWithPeerFailed peerID: String, withError error: NSError)
    optional func session(_ session: GKSession, didFailWithError error: NSError)
}
To
protocol GKSessionDelegate : NSObjectProtocol {
    optional func session(_ session: GKSession, peer peerID: String, didChange state: GKPeerConnectionState)
    optional func session(_ session: GKSession, didReceiveConnectionRequestFromPeer peerID: String)
    optional func session(_ session: GKSession, connectionWithPeerFailed peerID: String, withError error: Error)
    optional func session(_ session: GKSession, didFailWithError error: Error)
}

Declaration
From
optional func session(_ session: GKSession, connectionWithPeerFailed peerID: String, withError error: NSError)
To
optional func session(_ session: GKSession, connectionWithPeerFailed peerID: String, withError error: Error)

Declaration
From
optional func session(_ session: GKSession, didFailWithError error: NSError)
To
optional func session(_ session: GKSession, didFailWithError error: Error)

Declaration
From
optional func session(_ session: GKSession, peer peerID: String, didChangeState state: GKPeerConnectionState)
To
optional func session(_ session: GKSession, peer peerID: String, didChange state: GKPeerConnectionState)

Declaration
From
protocol GKTurnBasedEventListener {
    optional func player(_ player: GKPlayer, didRequestMatchWithOtherPlayers playersToInvite: [GKPlayer])
    optional func player(_ player: GKPlayer, receivedTurnEventForMatch match: GKTurnBasedMatch, didBecomeActive didBecomeActive: Bool)
    optional func player(_ player: GKPlayer, matchEnded match: GKTurnBasedMatch)
    optional func player(_ player: GKPlayer, receivedExchangeRequest exchange: GKTurnBasedExchange, forMatch match: GKTurnBasedMatch)
    optional func player(_ player: GKPlayer, receivedExchangeCancellation exchange: GKTurnBasedExchange, forMatch match: GKTurnBasedMatch)
    optional func player(_ player: GKPlayer, receivedExchangeReplies replies: [GKTurnBasedExchangeReply], forCompletedExchange exchange: GKTurnBasedExchange, forMatch match: GKTurnBasedMatch)
    optional func player(_ player: GKPlayer, wantsToQuitMatch match: GKTurnBasedMatch)
    optional func player(_ player: GKPlayer, didRequestMatchWithPlayers playerIDsToInvite: [String])
}
To
protocol GKTurnBasedEventListener {
    optional func player(_ player: GKPlayer, didRequestMatchWithOtherPlayers playersToInvite: [GKPlayer])
    optional func player(_ player: GKPlayer, receivedTurnEventFor match: GKTurnBasedMatch, didBecomeActive didBecomeActive: Bool)
    optional func player(_ player: GKPlayer, matchEnded match: GKTurnBasedMatch)
    optional func player(_ player: GKPlayer, receivedExchangeRequest exchange: GKTurnBasedExchange, for match: GKTurnBasedMatch)
    optional func player(_ player: GKPlayer, receivedExchangeCancellation exchange: GKTurnBasedExchange, for match: GKTurnBasedMatch)
    optional func player(_ player: GKPlayer, receivedExchangeReplies replies: [GKTurnBasedExchangeReply], forCompletedExchange exchange: GKTurnBasedExchange, for match: GKTurnBasedMatch)
    optional func player(_ player: GKPlayer, wantsToQuitMatch match: GKTurnBasedMatch)
    optional func player(_ player: GKPlayer, didRequestMatchWithPlayers playerIDsToInvite: [String])
}

Declaration
From
optional func player(_ player: GKPlayer, receivedExchangeCancellation exchange: GKTurnBasedExchange, forMatch match: GKTurnBasedMatch)
To
optional func player(_ player: GKPlayer, receivedExchangeCancellation exchange: GKTurnBasedExchange, for match: GKTurnBasedMatch)

Declaration
From
optional func player(_ player: GKPlayer, receivedExchangeReplies replies: [GKTurnBasedExchangeReply], forCompletedExchange exchange: GKTurnBasedExchange, forMatch match: GKTurnBasedMatch)
To
optional func player(_ player: GKPlayer, receivedExchangeReplies replies: [GKTurnBasedExchangeReply], forCompletedExchange exchange: GKTurnBasedExchange, for match: GKTurnBasedMatch)

Declaration
From
optional func player(_ player: GKPlayer, receivedExchangeRequest exchange: GKTurnBasedExchange, forMatch match: GKTurnBasedMatch)
To
optional func player(_ player: GKPlayer, receivedExchangeRequest exchange: GKTurnBasedExchange, for match: GKTurnBasedMatch)

Declaration
From
optional func player(_ player: GKPlayer, receivedTurnEventForMatch match: GKTurnBasedMatch, didBecomeActive didBecomeActive: Bool)
To
optional func player(_ player: GKPlayer, receivedTurnEventFor match: GKTurnBasedMatch, didBecomeActive didBecomeActive: Bool)

DeclarationProtocols
From
class GKTurnBasedExchange : NSObject {
    var exchangeID: String? { get }
    var sender: GKTurnBasedParticipant? { get }
    var recipients: [GKTurnBasedParticipant]? { get }
    var status: GKTurnBasedExchangeStatus { get }
    var message: String? { get }
    var data: NSData? { get }
    var sendDate: NSDate? { get }
    var timeoutDate: NSDate? { get }
    var completionDate: NSDate? { get }
    var replies: [GKTurnBasedExchangeReply]? { get }
    func cancelWithLocalizableMessageKey(_ key: String, arguments arguments: [String], completionHandler completionHandler: ((NSError?) -> Void)?)
    func replyWithLocalizableMessageKey(_ key: String, arguments arguments: [String], data data: NSData, completionHandler completionHandler: ((NSError?) -> Void)?)
}
--
To
class GKTurnBasedExchange : NSObject {
    var exchangeID: String? { get }
    var sender: GKTurnBasedParticipant? { get }
    var recipients: [GKTurnBasedParticipant]? { get }
    var status: GKTurnBasedExchangeStatus { get }
    var message: String? { get }
    var data: Data? { get }
    var sendDate: Date? { get }
    var timeoutDate: Date? { get }
    var completionDate: Date? { get }
    var replies: [GKTurnBasedExchangeReply]? { get }
    func cancel(withLocalizableMessageKey key: String, arguments arguments: [String], completionHandler completionHandler: (@escaping (Error?) -> Swift.Void)? = nil)
    func reply(withLocalizableMessageKey key: String, arguments arguments: [String], data data: Data, completionHandler completionHandler: (@escaping (Error?) -> Swift.Void)? = nil)
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension GKTurnBasedExchange : CVarArg {
}
extension GKTurnBasedExchange : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable

Declaration
From
func cancelWithLocalizableMessageKey(_ key: String, arguments arguments: [String], completionHandler completionHandler: ((NSError?) -> Void)?)
To
func cancel(withLocalizableMessageKey key: String, arguments arguments: [String], completionHandler completionHandler: (@escaping (Error?) -> Swift.Void)? = nil)

Declaration
From
var completionDate: NSDate? { get }
To
var completionDate: Date? { get }

Declaration
From
var data: NSData? { get }
To
var data: Data? { get }

Declaration
From
func replyWithLocalizableMessageKey(_ key: String, arguments arguments: [String], data data: NSData, completionHandler completionHandler: ((NSError?) -> Void)?)
To
func reply(withLocalizableMessageKey key: String, arguments arguments: [String], data data: Data, completionHandler completionHandler: (@escaping (Error?) -> Swift.Void)? = nil)

Declaration
From
var sendDate: NSDate? { get }
To
var sendDate: Date? { get }

Declaration
From
var timeoutDate: NSDate? { get }
To
var timeoutDate: Date? { get }

DeclarationProtocols
From
class GKTurnBasedExchangeReply : NSObject {
    var recipient: GKTurnBasedParticipant? { get }
    var message: String? { get }
    var data: NSData? { get }
    var replyDate: NSDate? { get }
}
--
To
class GKTurnBasedExchangeReply : NSObject {
    var recipient: GKTurnBasedParticipant? { get }
    var message: String? { get }
    var data: Data? { get }
    var replyDate: Date? { get }
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension GKTurnBasedExchangeReply : CVarArg {
}
extension GKTurnBasedExchangeReply : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable

Declaration
From
var data: NSData? { get }
To
var data: Data? { get }

Declaration
From
var replyDate: NSDate? { get }
To
var replyDate: Date? { get }

Declaration
From
enum GKTurnBasedExchangeStatus : Int8 {
    case Unknown
    case Active
    case Complete
    case Resolved
    case Canceled
}
To
enum GKTurnBasedExchangeStatus : Int8 {
    case unknown
    case active
    case complete
    case resolved
    case canceled
}

Declaration
From
case Active
To
case active

Declaration
From
case Canceled
To
case canceled

Declaration
From
case Complete
To
case complete

Declaration
From
case Resolved
To
case resolved

Declaration
From
case Unknown
To
case unknown

DeclarationProtocols
From
class GKTurnBasedMatch : NSObject {
    var matchID: String? { get }
    var creationDate: NSDate? { get }
    var participants: [GKTurnBasedParticipant]? { get }
    var status: GKTurnBasedMatchStatus { get }
    var currentParticipant: GKTurnBasedParticipant? { get }
    var matchData: NSData? { get }
    func setLocalizableMessageWithKey(_ key: String, arguments arguments: [String]?)
    var message: String?
    var matchDataMaximumSize: Int { get }
    var exchanges: [GKTurnBasedExchange]? { get }
    var activeExchanges: [GKTurnBasedExchange]? { get }
    var completedExchanges: [GKTurnBasedExchange]? { get }
    var exchangeDataMaximumSize: Int { get }
    var exchangeMaxInitiatedExchangesPerPlayer: Int { get }
    class func findMatchForRequest(_ request: GKMatchRequest, withCompletionHandler completionHandler: (GKTurnBasedMatch?, NSError?) -> Void)
    class func loadMatchesWithCompletionHandler(_ completionHandler: (([GKTurnBasedMatch]?, NSError?) -> Void)?)
    class func loadMatchWithID(_ matchID: String, withCompletionHandler completionHandler: ((GKTurnBasedMatch?, NSError?) -> Void)?)
    func rematchWithCompletionHandler(_ completionHandler: ((GKTurnBasedMatch?, NSError?) -> Void)?)
    func acceptInviteWithCompletionHandler(_ completionHandler: ((GKTurnBasedMatch?, NSError?) -> Void)?)
    func declineInviteWithCompletionHandler(_ completionHandler: ((NSError?) -> Void)?)
    func removeWithCompletionHandler(_ completionHandler: ((NSError?) -> Void)?)
    func loadMatchDataWithCompletionHandler(_ completionHandler: ((NSData?, NSError?) -> Void)?)
    func endTurnWithNextParticipants(_ nextParticipants: [GKTurnBasedParticipant], turnTimeout timeout: NSTimeInterval, matchData matchData: NSData, completionHandler completionHandler: ((NSError?) -> Void)?)
    func participantQuitInTurnWithOutcome(_ matchOutcome: GKTurnBasedMatchOutcome, nextParticipants nextParticipants: [GKTurnBasedParticipant], turnTimeout timeout: NSTimeInterval, matchData matchData: NSData, completionHandler completionHandler: ((NSError?) -> Void)?)
    func participantQuitOutOfTurnWithOutcome(_ matchOutcome: GKTurnBasedMatchOutcome, withCompletionHandler completionHandler: ((NSError?) -> Void)?)
    func endMatchInTurnWithMatchData(_ matchData: NSData, completionHandler completionHandler: ((NSError?) -> Void)?)
    func endMatchInTurnWithMatchData(_ matchData: NSData, scores scores: [GKScore]?, achievements achievements: [GKAchievement]?, completionHandler completionHandler: ((NSError?) -> Void)?)
    func saveCurrentTurnWithMatchData(_ matchData: NSData, completionHandler completionHandler: ((NSError?) -> Void)?)
    func saveMergedMatchData(_ matchData: NSData, withResolvedExchanges exchanges: [GKTurnBasedExchange], completionHandler completionHandler: ((NSError?) -> Void)?)
    func sendExchangeToParticipants(_ participants: [GKTurnBasedParticipant], data data: NSData, localizableMessageKey key: String, arguments arguments: [String], timeout timeout: NSTimeInterval, completionHandler completionHandler: ((GKTurnBasedExchange, NSError) -> Void)?)
    func sendReminderToParticipants(_ participants: [GKTurnBasedParticipant], localizableMessageKey key: String, arguments arguments: [String], completionHandler completionHandler: ((NSError?) -> Void)?)
    func endTurnWithNextParticipant(_ nextParticipant: GKTurnBasedParticipant, matchData matchData: NSData, completionHandler completionHandler: ((NSError?) -> Void)?)
    func participantQuitInTurnWithOutcome(_ matchOutcome: GKTurnBasedMatchOutcome, nextParticipant nextParticipant: GKTurnBasedParticipant, matchData matchData: NSData, completionHandler completionHandler: ((NSError?) -> Void)?)
}
--
To
class GKTurnBasedMatch : NSObject {
    var matchID: String? { get }
    var creationDate: Date? { get }
    var participants: [GKTurnBasedParticipant]? { get }
    var status: GKTurnBasedMatchStatus { get }
    var currentParticipant: GKTurnBasedParticipant? { get }
    var matchData: Data? { get }
    func setLocalizableMessageWithKey(_ key: String, arguments arguments: [String]?)
    var message: String?
    var matchDataMaximumSize: Int { get }
    var exchanges: [GKTurnBasedExchange]? { get }
    var activeExchanges: [GKTurnBasedExchange]? { get }
    var completedExchanges: [GKTurnBasedExchange]? { get }
    var exchangeDataMaximumSize: Int { get }
    var exchangeMaxInitiatedExchangesPerPlayer: Int { get }
    class func find(for request: GKMatchRequest, withCompletionHandler completionHandler: @escaping (GKTurnBasedMatch?, Error?) -> Swift.Void)
    class func loadMatches(completionHandler completionHandler: (@escaping ([GKTurnBasedMatch]?, Error?) -> Swift.Void)? = nil)
    class func load(withID matchID: String, withCompletionHandler completionHandler: (@escaping (GKTurnBasedMatch?, Error?) -> Swift.Void)? = nil)
    func rematch(completionHandler completionHandler: (@escaping (GKTurnBasedMatch?, Error?) -> Swift.Void)? = nil)
    func acceptInvite(completionHandler completionHandler: (@escaping (GKTurnBasedMatch?, Error?) -> Swift.Void)? = nil)
    func declineInvite(completionHandler completionHandler: (@escaping (Error?) -> Swift.Void)? = nil)
    func remove(completionHandler completionHandler: (@escaping (Error?) -> Swift.Void)? = nil)
    func loadMatchData(completionHandler completionHandler: (@escaping (Data?, Error?) -> Swift.Void)? = nil)
    func endTurn(withNextParticipants nextParticipants: [GKTurnBasedParticipant], turnTimeout timeout: TimeInterval, match matchData: Data, completionHandler completionHandler: (@escaping (Error?) -> Swift.Void)? = nil)
    func participantQuitInTurn(with matchOutcome: GKTurnBasedMatchOutcome, nextParticipants nextParticipants: [GKTurnBasedParticipant], turnTimeout timeout: TimeInterval, match matchData: Data, completionHandler completionHandler: (@escaping (Error?) -> Swift.Void)? = nil)
    func participantQuitOutOfTurn(with matchOutcome: GKTurnBasedMatchOutcome, withCompletionHandler completionHandler: (@escaping (Error?) -> Swift.Void)? = nil)
    func endMatchInTurn(withMatch matchData: Data, completionHandler completionHandler: (@escaping (Error?) -> Swift.Void)? = nil)
    func endMatchInTurn(withMatch matchData: Data, scores scores: [GKScore]?, achievements achievements: [GKAchievement]?, completionHandler completionHandler: (@escaping (Error?) -> Swift.Void)? = nil)
    func saveCurrentTurn(withMatch matchData: Data, completionHandler completionHandler: (@escaping (Error?) -> Swift.Void)? = nil)
    func saveMergedMatch(_ matchData: Data, withResolvedExchanges exchanges: [GKTurnBasedExchange], completionHandler completionHandler: (@escaping (Error?) -> Swift.Void)? = nil)
    func sendExchange(to participants: [GKTurnBasedParticipant], data data: Data, localizableMessageKey key: String, arguments arguments: [String], timeout timeout: TimeInterval, completionHandler completionHandler: (@escaping (GKTurnBasedExchange, Error) -> Swift.Void)? = nil)
    func sendReminder(to participants: [GKTurnBasedParticipant], localizableMessageKey key: String, arguments arguments: [String], completionHandler completionHandler: (@escaping (Error?) -> Swift.Void)? = nil)
    func endTurn(withNextParticipant nextParticipant: GKTurnBasedParticipant, match matchData: Data, completionHandler completionHandler: (@escaping (Error?) -> Swift.Void)? = nil)
    func participantQuitInTurn(with matchOutcome: GKTurnBasedMatchOutcome, nextParticipant nextParticipant: GKTurnBasedParticipant, match matchData: Data, completionHandler completionHandler: (@escaping (Error?) -> Swift.Void)? = nil)
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension GKTurnBasedMatch : CVarArg {
}
extension GKTurnBasedMatch : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable

Declaration
From
func acceptInviteWithCompletionHandler(_ completionHandler: ((GKTurnBasedMatch?, NSError?) -> Void)?)
To
func acceptInvite(completionHandler completionHandler: (@escaping (GKTurnBasedMatch?, Error?) -> Swift.Void)? = nil)

Declaration
From
var creationDate: NSDate? { get }
To
var creationDate: Date? { get }

Declaration
From
func declineInviteWithCompletionHandler(_ completionHandler: ((NSError?) -> Void)?)
To
func declineInvite(completionHandler completionHandler: (@escaping (Error?) -> Swift.Void)? = nil)

Declaration
From
func endMatchInTurnWithMatchData(_ matchData: NSData, completionHandler completionHandler: ((NSError?) -> Void)?)
To
func endMatchInTurn(withMatch matchData: Data, completionHandler completionHandler: (@escaping (Error?) -> Swift.Void)? = nil)

Declaration
From
func endMatchInTurnWithMatchData(_ matchData: NSData, scores scores: [GKScore]?, achievements achievements: [GKAchievement]?, completionHandler completionHandler: ((NSError?) -> Void)?)
To
func endMatchInTurn(withMatch matchData: Data, scores scores: [GKScore]?, achievements achievements: [GKAchievement]?, completionHandler completionHandler: (@escaping (Error?) -> Swift.Void)? = nil)

Declaration
From
func endTurnWithNextParticipants(_ nextParticipants: [GKTurnBasedParticipant], turnTimeout timeout: NSTimeInterval, matchData matchData: NSData, completionHandler completionHandler: ((NSError?) -> Void)?)
To
func endTurn(withNextParticipants nextParticipants: [GKTurnBasedParticipant], turnTimeout timeout: TimeInterval, match matchData: Data, completionHandler completionHandler: (@escaping (Error?) -> Swift.Void)? = nil)

Declaration
From
class func findMatchForRequest(_ request: GKMatchRequest, withCompletionHandler completionHandler: (GKTurnBasedMatch?, NSError?) -> Void)
To
class func find(for request: GKMatchRequest, withCompletionHandler completionHandler: @escaping (GKTurnBasedMatch?, Error?) -> Swift.Void)

Declaration
From
class func loadMatchWithID(_ matchID: String, withCompletionHandler completionHandler: ((GKTurnBasedMatch?, NSError?) -> Void)?)
To
class func load(withID matchID: String, withCompletionHandler completionHandler: (@escaping (GKTurnBasedMatch?, Error?) -> Swift.Void)? = nil)

Declaration
From
func loadMatchDataWithCompletionHandler(_ completionHandler: ((NSData?, NSError?) -> Void)?)
To
func loadMatchData(completionHandler completionHandler: (@escaping (Data?, Error?) -> Swift.Void)? = nil)

Declaration
From
class func loadMatchesWithCompletionHandler(_ completionHandler: (([GKTurnBasedMatch]?, NSError?) -> Void)?)
To
class func loadMatches(completionHandler completionHandler: (@escaping ([GKTurnBasedMatch]?, Error?) -> Swift.Void)? = nil)

Declaration
From
var matchData: NSData? { get }
To
var matchData: Data? { get }

Declaration
From
func participantQuitInTurnWithOutcome(_ matchOutcome: GKTurnBasedMatchOutcome, nextParticipants nextParticipants: [GKTurnBasedParticipant], turnTimeout timeout: NSTimeInterval, matchData matchData: NSData, completionHandler completionHandler: ((NSError?) -> Void)?)
To
func participantQuitInTurn(with matchOutcome: GKTurnBasedMatchOutcome, nextParticipants nextParticipants: [GKTurnBasedParticipant], turnTimeout timeout: TimeInterval, match matchData: Data, completionHandler completionHandler: (@escaping (Error?) -> Swift.Void)? = nil)

Declaration
From
func participantQuitOutOfTurnWithOutcome(_ matchOutcome: GKTurnBasedMatchOutcome, withCompletionHandler completionHandler: ((NSError?) -> Void)?)
To
func participantQuitOutOfTurn(with matchOutcome: GKTurnBasedMatchOutcome, withCompletionHandler completionHandler: (@escaping (Error?) -> Swift.Void)? = nil)

Declaration
From
func rematchWithCompletionHandler(_ completionHandler: ((GKTurnBasedMatch?, NSError?) -> Void)?)
To
func rematch(completionHandler completionHandler: (@escaping (GKTurnBasedMatch?, Error?) -> Swift.Void)? = nil)

Declaration
From
func removeWithCompletionHandler(_ completionHandler: ((NSError?) -> Void)?)
To
func remove(completionHandler completionHandler: (@escaping (Error?) -> Swift.Void)? = nil)

Declaration
From
func saveCurrentTurnWithMatchData(_ matchData: NSData, completionHandler completionHandler: ((NSError?) -> Void)?)
To
func saveCurrentTurn(withMatch matchData: Data, completionHandler completionHandler: (@escaping (Error?) -> Swift.Void)? = nil)

Declaration
From
func saveMergedMatchData(_ matchData: NSData, withResolvedExchanges exchanges: [GKTurnBasedExchange], completionHandler completionHandler: ((NSError?) -> Void)?)
To
func saveMergedMatch(_ matchData: Data, withResolvedExchanges exchanges: [GKTurnBasedExchange], completionHandler completionHandler: (@escaping (Error?) -> Swift.Void)? = nil)

Declaration
From
func sendExchangeToParticipants(_ participants: [GKTurnBasedParticipant], data data: NSData, localizableMessageKey key: String, arguments arguments: [String], timeout timeout: NSTimeInterval, completionHandler completionHandler: ((GKTurnBasedExchange, NSError) -> Void)?)
To
func sendExchange(to participants: [GKTurnBasedParticipant], data data: Data, localizableMessageKey key: String, arguments arguments: [String], timeout timeout: TimeInterval, completionHandler completionHandler: (@escaping (GKTurnBasedExchange, Error) -> Swift.Void)? = nil)

Declaration
From
func sendReminderToParticipants(_ participants: [GKTurnBasedParticipant], localizableMessageKey key: String, arguments arguments: [String], completionHandler completionHandler: ((NSError?) -> Void)?)
To
func sendReminder(to participants: [GKTurnBasedParticipant], localizableMessageKey key: String, arguments arguments: [String], completionHandler completionHandler: (@escaping (Error?) -> Swift.Void)? = nil)

Declaration
From
class GKTurnBasedMatchmakerViewController : UINavigationController {
}
extension GKTurnBasedMatchmakerViewController {
    unowned(unsafe) var turnBasedMatchmakerDelegate: GKTurnBasedMatchmakerViewControllerDelegate?
    var showExistingMatches: Bool
    init(matchRequest request: GKMatchRequest)
}
To
class GKTurnBasedMatchmakerViewController : UINavigationController {
    unowned(unsafe) var turnBasedMatchmakerDelegate: GKTurnBasedMatchmakerViewControllerDelegate?
    var showExistingMatches: Bool
    init(matchRequest request: GKMatchRequest)
}
extension GKTurnBasedMatchmakerViewController {
    unowned(unsafe) var turnBasedMatchmakerDelegate: GKTurnBasedMatchmakerViewControllerDelegate?
    var showExistingMatches: Bool
    init(matchRequest request: GKMatchRequest)
}

Declaration
From
protocol GKTurnBasedMatchmakerViewControllerDelegate : NSObjectProtocol {
    func turnBasedMatchmakerViewControllerWasCancelled(_ viewController: GKTurnBasedMatchmakerViewController)
    func turnBasedMatchmakerViewController(_ viewController: GKTurnBasedMatchmakerViewController, didFailWithError error: NSError)
    optional func turnBasedMatchmakerViewController(_ viewController: GKTurnBasedMatchmakerViewController, didFindMatch match: GKTurnBasedMatch)
    optional func turnBasedMatchmakerViewController(_ viewController: GKTurnBasedMatchmakerViewController, playerQuitForMatch match: GKTurnBasedMatch)
}
To
protocol GKTurnBasedMatchmakerViewControllerDelegate : NSObjectProtocol {
    func turnBasedMatchmakerViewControllerWasCancelled(_ viewController: GKTurnBasedMatchmakerViewController)
    func turnBasedMatchmakerViewController(_ viewController: GKTurnBasedMatchmakerViewController, didFailWithError error: Error)
    optional func turnBasedMatchmakerViewController(_ viewController: GKTurnBasedMatchmakerViewController, didFind match: GKTurnBasedMatch)
    optional func turnBasedMatchmakerViewController(_ viewController: GKTurnBasedMatchmakerViewController, playerQuitFor match: GKTurnBasedMatch)
}

Declaration
From
func turnBasedMatchmakerViewController(_ viewController: GKTurnBasedMatchmakerViewController, didFailWithError error: NSError)
To
func turnBasedMatchmakerViewController(_ viewController: GKTurnBasedMatchmakerViewController, didFailWithError error: Error)

Declaration
From
enum GKTurnBasedMatchOutcome : Int {
    case None
    case Quit
    case Won
    case Lost
    case Tied
    case TimeExpired
    case First
    case Second
    case Third
    case Fourth
    case CustomRange
}
To
enum GKTurnBasedMatchOutcome : Int {
    case none
    case quit
    case won
    case lost
    case tied
    case timeExpired
    case first
    case second
    case third
    case fourth
    case customRange
}

Declaration
From
case CustomRange
To
case customRange

Declaration
From
case First
To
case first

Declaration
From
case Fourth
To
case fourth

Declaration
From
case Lost
To
case lost

Declaration
From
case None
To
case none

Declaration
From
case Quit
To
case quit

Declaration
From
case Second
To
case second

Declaration
From
case Third
To
case third

Declaration
From
case Tied
To
case tied

Declaration
From
case TimeExpired
To
case timeExpired

Declaration
From
case Won
To
case won

Declaration
From
enum GKTurnBasedMatchStatus : Int {
    case Unknown
    case Open
    case Ended
    case Matching
}
To
enum GKTurnBasedMatchStatus : Int {
    case unknown
    case open
    case ended
    case matching
}

Declaration
From
case Ended
To
case ended

Declaration
From
case Matching
To
case matching

Declaration
From
case Open
To
case open

Declaration
From
case Unknown
To
case unknown

DeclarationProtocols
From
class GKTurnBasedParticipant : NSObject {
    var player: GKPlayer? { get }
    @NSCopying var lastTurnDate: NSDate? { get }
    var status: GKTurnBasedParticipantStatus { get }
    var matchOutcome: GKTurnBasedMatchOutcome
    @NSCopying var timeoutDate: NSDate? { get }
    var playerID: String? { get }
}
--
To
class GKTurnBasedParticipant : NSObject {
    var player: GKPlayer? { get }
    var lastTurnDate: Date? { get }
    var status: GKTurnBasedParticipantStatus { get }
    var matchOutcome: GKTurnBasedMatchOutcome
    var timeoutDate: Date? { get }
    var playerID: String? { get }
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension GKTurnBasedParticipant : CVarArg {
}
extension GKTurnBasedParticipant : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable

Declaration
From
@NSCopying var lastTurnDate: NSDate? { get }
To
var lastTurnDate: Date? { get }

Declaration
From
@NSCopying var timeoutDate: NSDate? { get }
To
var timeoutDate: Date? { get }

Declaration
From
enum GKTurnBasedParticipantStatus : Int {
    case Unknown
    case Invited
    case Declined
    case Matching
    case Active
    case Done
}
To
enum GKTurnBasedParticipantStatus : Int {
    case unknown
    case invited
    case declined
    case matching
    case active
    case done
}

Declaration
From
case Active
To
case active

Declaration
From
case Declined
To
case declined

Declaration
From
case Done
To
case done

Declaration
From
case Invited
To
case invited

Declaration
From
case Matching
To
case matching

Declaration
From
case Unknown
To
case unknown

Modified GKVoiceChat
DeclarationProtocols
From
class GKVoiceChat : NSObject {
    func start()
    func stop()
    func setPlayer(_ player: GKPlayer, muted isMuted: Bool)
    var playerVoiceChatStateDidChangeHandler: (GKPlayer, GKVoiceChatPlayerState) -> Void
    var name: String { get }
    var active: Bool
    var volume: Float
    var players: [GKPlayer] { get }
    class func isVoIPAllowed() -> Bool
}
extension GKVoiceChat {
    var playerIDs: [String] { get }
    var playerStateUpdateHandler: (String, GKVoiceChatPlayerState) -> Void
    func setMute(_ isMuted: Bool, forPlayer playerID: String)
}
--
To
class GKVoiceChat : NSObject {
    func start()
    func stop()
    func setPlayer(_ player: GKPlayer, muted isMuted: Bool)
    var playerVoiceChatStateDidChangeHandler: (GKPlayer, GKVoiceChatPlayerState) -> Swift.Void
    var name: String { get }
    var isActive: Bool
    var volume: Float
    var players: [GKPlayer] { get }
    class func isVoIPAllowed() -> Bool
    var playerIDs: [String] { get }
    var playerStateUpdateHandler: (String, GKVoiceChatPlayerState) -> Swift.Void
    func setMute(_ isMuted: Bool, forPlayer playerID: String)
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension GKVoiceChat : CVarArg {
}
extension GKVoiceChat : Equatable, Hashable {
    var hashValue: Int { get }
}
extension GKVoiceChat {
    var playerIDs: [String] { get }
    var playerStateUpdateHandler: (String, GKVoiceChatPlayerState) -> Swift.Void
    func setMute(_ isMuted: Bool, forPlayer playerID: String)
}
CVarArg, Equatable, Hashable

Declaration
From
var active: Bool
To
var isActive: Bool

Declaration
From
var playerVoiceChatStateDidChangeHandler: (GKPlayer, GKVoiceChatPlayerState) -> Void
To
var playerVoiceChatStateDidChangeHandler: (GKPlayer, GKVoiceChatPlayerState) -> Swift.Void

Declaration
From
protocol GKVoiceChatClient : NSObjectProtocol {
    func voiceChatService(_ voiceChatService: GKVoiceChatService, sendData data: NSData, toParticipantID participantID: String)
    func participantID() -> String
    optional func voiceChatService(_ voiceChatService: GKVoiceChatService, sendRealTimeData data: NSData, toParticipantID participantID: String)
    optional func voiceChatService(_ voiceChatService: GKVoiceChatService, didStartWithParticipantID participantID: String)
    optional func voiceChatService(_ voiceChatService: GKVoiceChatService, didNotStartWithParticipantID participantID: String, error error: NSError?)
    optional func voiceChatService(_ voiceChatService: GKVoiceChatService, didStopWithParticipantID participantID: String, error error: NSError?)
    optional func voiceChatService(_ voiceChatService: GKVoiceChatService, didReceiveInvitationFromParticipantID participantID: String, callID callID: Int)
}
To
protocol GKVoiceChatClient : NSObjectProtocol {
    func voiceChatService(_ voiceChatService: GKVoiceChatService, send data: Data, toParticipantID participantID: String)
    func participantID() -> String
    optional func voiceChatService(_ voiceChatService: GKVoiceChatService, sendRealTime data: Data, toParticipantID participantID: String)
    optional func voiceChatService(_ voiceChatService: GKVoiceChatService, didStartWithParticipantID participantID: String)
    optional func voiceChatService(_ voiceChatService: GKVoiceChatService, didNotStartWithParticipantID participantID: String, error error: Error?)
    optional func voiceChatService(_ voiceChatService: GKVoiceChatService, didStopWithParticipantID participantID: String, error error: Error?)
    optional func voiceChatService(_ voiceChatService: GKVoiceChatService, didReceiveInvitationFromParticipantID participantID: String, callID callID: Int)
}

Declaration
From
optional func voiceChatService(_ voiceChatService: GKVoiceChatService, didNotStartWithParticipantID participantID: String, error error: NSError?)
To
optional func voiceChatService(_ voiceChatService: GKVoiceChatService, didNotStartWithParticipantID participantID: String, error error: Error?)

Declaration
From
optional func voiceChatService(_ voiceChatService: GKVoiceChatService, didStopWithParticipantID participantID: String, error error: NSError?)
To
optional func voiceChatService(_ voiceChatService: GKVoiceChatService, didStopWithParticipantID participantID: String, error error: Error?)

Declaration
From
func voiceChatService(_ voiceChatService: GKVoiceChatService, sendData data: NSData, toParticipantID participantID: String)
To
func voiceChatService(_ voiceChatService: GKVoiceChatService, send data: Data, toParticipantID participantID: String)

Declaration
From
optional func voiceChatService(_ voiceChatService: GKVoiceChatService, sendRealTimeData data: NSData, toParticipantID participantID: String)
To
optional func voiceChatService(_ voiceChatService: GKVoiceChatService, sendRealTime data: Data, toParticipantID participantID: String)

Declaration
From
enum GKVoiceChatPlayerState : Int {
    case Connected
    case Disconnected
    case Speaking
    case Silent
    case Connecting
}
To
enum GKVoiceChatPlayerState : Int {
    case connected
    case disconnected
    case speaking
    case silent
    case connecting
}

Declaration
From
case Connected
To
case connected

Declaration
From
case Connecting
To
case connecting

Declaration
From
case Disconnected
To
case disconnected

Declaration
From
case Silent
To
case silent

Declaration
From
case Speaking
To
case speaking

Declaration
From
typealias GKChallengeComposeCompletionBlock = (UIViewController, Bool, [String]?) -> Void
To
typealias GKChallengeComposeCompletionBlock = (UIViewController, Bool, [String]?) -> Swift.Void

Declaration
From
var GKExchangeTimeoutDefault: NSTimeInterval
To
var GKExchangeTimeoutDefault: TimeInterval

Declaration
From
var GKExchangeTimeoutNone: NSTimeInterval
To
var GKExchangeTimeoutNone: TimeInterval

Declaration
From
var GKTurnTimeoutDefault: NSTimeInterval
To
var GKTurnTimeoutDefault: TimeInterval

Declaration
From
var GKTurnTimeoutNone: NSTimeInterval
To
var GKTurnTimeoutNone: TimeInterval