Documentation Archive Developer
Search

CoreBluetooth Changes for Swift

CoreBluetooth

Removed CBCentralManager.state
Removed CBPeripheralManager.state
Added CBATTError.init(_nsError: NSError)
Added CBError.init(_nsError: NSError)
Added CBManager
Declaration
From
enum CBATTError : Int {
    case Success
    case InvalidHandle
    case ReadNotPermitted
    case WriteNotPermitted
    case InvalidPdu
    case InsufficientAuthentication
    case RequestNotSupported
    case InvalidOffset
    case InsufficientAuthorization
    case PrepareQueueFull
    case AttributeNotFound
    case AttributeNotLong
    case InsufficientEncryptionKeySize
    case InvalidAttributeValueLength
    case UnlikelyError
    case InsufficientEncryption
    case UnsupportedGroupType
    case InsufficientResources
}
extension CBATTError : _BridgedNSError {
}
extension CBATTError : _BridgedNSError {
}
To
enum Code : Int {
        typealias _ErrorType = CBATTError
        case success
        case invalidHandle
        case readNotPermitted
        case writeNotPermitted
        case invalidPdu
        case insufficientAuthentication
        case requestNotSupported
        case invalidOffset
        case insufficientAuthorization
        case prepareQueueFull
        case attributeNotFound
        case attributeNotLong
        case insufficientEncryptionKeySize
        case invalidAttributeValueLength
        case unlikelyError
        case insufficientEncryption
        case unsupportedGroupType
        case insufficientResources
    }

DeclarationIntroduction
From
case AttributeNotFound
tvOS 9.0
To
case attributeNotFound
tvOS 10.0

DeclarationIntroduction
From
case AttributeNotLong
tvOS 9.0
To
case attributeNotLong
tvOS 10.0

Declaration
From
case InsufficientAuthentication
To
case insufficientAuthentication

DeclarationIntroduction
From
case InsufficientAuthorization
tvOS 9.0
To
case insufficientAuthorization
tvOS 10.0

Declaration
From
case InsufficientEncryption
To
case insufficientEncryption

DeclarationIntroduction
From
case InsufficientEncryptionKeySize
tvOS 9.0
To
case insufficientEncryptionKeySize
tvOS 10.0

Declaration
From
case InsufficientResources
To
case insufficientResources

Declaration
From
case InvalidAttributeValueLength
To
case invalidAttributeValueLength

Declaration
From
case InvalidHandle
To
case invalidHandle

Declaration
From
case InvalidOffset
To
case invalidOffset

Declaration
From
case InvalidPdu
To
case invalidPdu

Declaration
From
case PrepareQueueFull
To
case prepareQueueFull

DeclarationIntroduction
From
case ReadNotPermitted
tvOS 9.0
To
case readNotPermitted
tvOS 10.0

Declaration
From
case RequestNotSupported
To
case requestNotSupported

DeclarationIntroduction
From
case Success
tvOS 9.0
To
case success
tvOS 10.0

Declaration
From
case UnlikelyError
To
case unlikelyError

Declaration
From
case UnsupportedGroupType
To
case unsupportedGroupType

Declaration
From
case WriteNotPermitted
To
case writeNotPermitted

Modified CBATTRequest
DeclarationProtocols
From
class CBATTRequest : NSObject {
    init()
    var central: CBCentral { get }
    var characteristic: CBCharacteristic { get }
    var offset: Int { get }
    @NSCopying var value: NSData?
}
--
To
class CBATTRequest : NSObject {
    init()
    var central: CBCentral { get }
    var characteristic: CBCharacteristic { get }
    var offset: Int { get }
    var value: Data?
    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?
}
extension CBATTRequest : CVarArg {
}
extension CBATTRequest : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable

Declaration
From
@NSCopying var value: NSData?
To
var value: Data?

Modified CBAttribute
DeclarationProtocols
From
class CBAttribute : NSObject {
    init()
    var UUID: CBUUID { get }
}
--
To
class CBAttribute : NSObject {
    init()
    var uuid: CBUUID { get }
    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?
}
extension CBAttribute : CVarArg {
}
extension CBAttribute : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable

Declaration
From
var UUID: CBUUID { get }
To
var uuid: CBUUID { get }

DeclarationProtocols
From
struct CBAttributePermissions : OptionSetType {
    init(rawValue rawValue: UInt)
    static var Readable: CBAttributePermissions { get }
    static var Writeable: CBAttributePermissions { get }
    static var ReadEncryptionRequired: CBAttributePermissions { get }
    static var WriteEncryptionRequired: CBAttributePermissions { get }
}
OptionSetType
To
struct CBAttributePermissions : OptionSet {
    init(rawValue rawValue: UInt)
    static var readable: CBAttributePermissions { get }
    static var writeable: CBAttributePermissions { get }
    static var readEncryptionRequired: CBAttributePermissions { get }
    static var writeEncryptionRequired: CBAttributePermissions { get }
    func intersect(_ other: CBAttributePermissions) -> CBAttributePermissions
    func exclusiveOr(_ other: CBAttributePermissions) -> CBAttributePermissions
    mutating func unionInPlace(_ other: CBAttributePermissions)
    mutating func intersectInPlace(_ other: CBAttributePermissions)
    mutating func exclusiveOrInPlace(_ other: CBAttributePermissions)
    func isSubsetOf(_ other: CBAttributePermissions) -> Bool
    func isDisjointWith(_ other: CBAttributePermissions) -> Bool
    func isSupersetOf(_ other: CBAttributePermissions) -> Bool
    mutating func subtractInPlace(_ other: CBAttributePermissions)
    func isStrictSupersetOf(_ other: CBAttributePermissions) -> Bool
    func isStrictSubsetOf(_ other: CBAttributePermissions) -> Bool
}
extension CBAttributePermissions {
    func union(_ other: CBAttributePermissions) -> CBAttributePermissions
    func intersection(_ other: CBAttributePermissions) -> CBAttributePermissions
    func symmetricDifference(_ other: CBAttributePermissions) -> CBAttributePermissions
}
extension CBAttributePermissions {
    func contains(_ member: CBAttributePermissions) -> Bool
    mutating func insert(_ newMember: CBAttributePermissions) -> (inserted: Bool, memberAfterInsert: CBAttributePermissions)
    mutating func remove(_ member: CBAttributePermissions) -> CBAttributePermissions?
    mutating func update(with newMember: CBAttributePermissions) -> CBAttributePermissions?
}
extension CBAttributePermissions {
    convenience init()
    mutating func formUnion(_ other: CBAttributePermissions)
    mutating func formIntersection(_ other: CBAttributePermissions)
    mutating func formSymmetricDifference(_ other: CBAttributePermissions)
}
extension CBAttributePermissions {
    convenience init<S : Sequence where S.Iterator.Element == CBAttributePermissions>(_ sequence: S)
    convenience init(arrayLiteral arrayLiteral: CBAttributePermissions...)
    mutating func subtract(_ other: CBAttributePermissions)
    func isSubset(of other: CBAttributePermissions) -> Bool
    func isSuperset(of other: CBAttributePermissions) -> Bool
    func isDisjoint(with other: CBAttributePermissions) -> Bool
    func subtracting(_ other: CBAttributePermissions) -> CBAttributePermissions
    var isEmpty: Bool { get }
    func isStrictSuperset(of other: CBAttributePermissions) -> Bool
    func isStrictSubset(of other: CBAttributePermissions) -> Bool
}
OptionSet

Declaration
From
static var Readable: CBAttributePermissions { get }
To
static var readable: CBAttributePermissions { get }

Declaration
From
static var ReadEncryptionRequired: CBAttributePermissions { get }
To
static var readEncryptionRequired: CBAttributePermissions { get }

Declaration
From
static var Writeable: CBAttributePermissions { get }
To
static var writeable: CBAttributePermissions { get }

Declaration
From
static var WriteEncryptionRequired: CBAttributePermissions { get }
To
static var writeEncryptionRequired: CBAttributePermissions { get }

DeclarationSuperclasses
From
class CBCentralManager : NSObject {
    unowned(unsafe) var delegate: CBCentralManagerDelegate?
    var state: CBCentralManagerState { get }
    var isScanning: Bool { get }
    convenience init(delegate delegate: CBCentralManagerDelegate?, queue queue: dispatch_queue_t?)
    init(delegate delegate: CBCentralManagerDelegate?, queue queue: dispatch_queue_t?, options options: [String : AnyObject]?)
    func retrievePeripheralsWithIdentifiers(_ identifiers: [NSUUID]) -> [CBPeripheral]
    func retrieveConnectedPeripheralsWithServices(_ serviceUUIDs: [CBUUID]) -> [CBPeripheral]
    func scanForPeripheralsWithServices(_ serviceUUIDs: [CBUUID]?, options options: [String : AnyObject]?)
    func stopScan()
    func connectPeripheral(_ peripheral: CBPeripheral, options options: [String : AnyObject]?)
    func cancelPeripheralConnection(_ peripheral: CBPeripheral)
}
NSObject
To
class CBCentralManager : CBManager {
    weak var delegate: CBCentralManagerDelegate?
    var isScanning: Bool { get }
    convenience init()
    convenience init(delegate delegate: CBCentralManagerDelegate?, queue queue: DispatchQueue?)
    init(delegate delegate: CBCentralManagerDelegate?, queue queue: DispatchQueue?, options options: [String : Any]? = nil)
    func retrievePeripherals(withIdentifiers identifiers: [UUID]) -> [CBPeripheral]
    func retrieveConnectedPeripherals(withServices serviceUUIDs: [CBUUID]) -> [CBPeripheral]
    func scanForPeripherals(withServices serviceUUIDs: [CBUUID]?, options options: [String : Any]? = nil)
    func stopScan()
    func connect(_ peripheral: CBPeripheral, options options: [String : Any]? = nil)
    func cancelPeripheralConnection(_ peripheral: CBPeripheral)
}
CBManager

Declaration
From
func connectPeripheral(_ peripheral: CBPeripheral, options options: [String : AnyObject]?)
To
func connect(_ peripheral: CBPeripheral, options options: [String : Any]? = nil)

Declaration
From
unowned(unsafe) var delegate: CBCentralManagerDelegate?
To
weak var delegate: CBCentralManagerDelegate?

Declaration
From
convenience init(delegate delegate: CBCentralManagerDelegate?, queue queue: dispatch_queue_t?)
To
convenience init(delegate delegate: CBCentralManagerDelegate?, queue queue: DispatchQueue?)

Declaration
From
init(delegate delegate: CBCentralManagerDelegate?, queue queue: dispatch_queue_t?, options options: [String : AnyObject]?)
To
init(delegate delegate: CBCentralManagerDelegate?, queue queue: DispatchQueue?, options options: [String : Any]? = nil)

Declaration
From
func retrieveConnectedPeripheralsWithServices(_ serviceUUIDs: [CBUUID]) -> [CBPeripheral]
To
func retrieveConnectedPeripherals(withServices serviceUUIDs: [CBUUID]) -> [CBPeripheral]

Declaration
From
func retrievePeripheralsWithIdentifiers(_ identifiers: [NSUUID]) -> [CBPeripheral]
To
func retrievePeripherals(withIdentifiers identifiers: [UUID]) -> [CBPeripheral]

Declaration
From
func scanForPeripheralsWithServices(_ serviceUUIDs: [CBUUID]?, options options: [String : AnyObject]?)
To
func scanForPeripherals(withServices serviceUUIDs: [CBUUID]?, options options: [String : Any]? = nil)

Declaration
From
protocol CBCentralManagerDelegate : NSObjectProtocol {
    func centralManagerDidUpdateState(_ central: CBCentralManager)
    optional func centralManager(_ central: CBCentralManager, willRestoreState dict: [String : AnyObject])
    optional func centralManager(_ central: CBCentralManager, didDiscoverPeripheral peripheral: CBPeripheral, advertisementData advertisementData: [String : AnyObject], RSSI RSSI: NSNumber)
    optional func centralManager(_ central: CBCentralManager, didConnectPeripheral peripheral: CBPeripheral)
    optional func centralManager(_ central: CBCentralManager, didFailToConnectPeripheral peripheral: CBPeripheral, error error: NSError?)
    optional func centralManager(_ central: CBCentralManager, didDisconnectPeripheral peripheral: CBPeripheral, error error: NSError?)
}
To
protocol CBCentralManagerDelegate : NSObjectProtocol {
    func centralManagerDidUpdateState(_ central: CBCentralManager)
    optional func centralManager(_ central: CBCentralManager, willRestoreState dict: [String : Any])
    optional func centralManager(_ central: CBCentralManager, didDiscover peripheral: CBPeripheral, advertisementData advertisementData: [String : Any], rssi RSSI: NSNumber)
    optional func centralManager(_ central: CBCentralManager, didConnect peripheral: CBPeripheral)
    optional func centralManager(_ central: CBCentralManager, didFailToConnect peripheral: CBPeripheral, error error: Error?)
    optional func centralManager(_ central: CBCentralManager, didDisconnectPeripheral peripheral: CBPeripheral, error error: Error?)
}

Declaration
From
optional func centralManager(_ central: CBCentralManager, didConnectPeripheral peripheral: CBPeripheral)
To
optional func centralManager(_ central: CBCentralManager, didConnect peripheral: CBPeripheral)

Declaration
From
optional func centralManager(_ central: CBCentralManager, didDisconnectPeripheral peripheral: CBPeripheral, error error: NSError?)
To
optional func centralManager(_ central: CBCentralManager, didDisconnectPeripheral peripheral: CBPeripheral, error error: Error?)

Declaration
From
optional func centralManager(_ central: CBCentralManager, didDiscoverPeripheral peripheral: CBPeripheral, advertisementData advertisementData: [String : AnyObject], RSSI RSSI: NSNumber)
To
optional func centralManager(_ central: CBCentralManager, didDiscover peripheral: CBPeripheral, advertisementData advertisementData: [String : Any], rssi RSSI: NSNumber)

Declaration
From
optional func centralManager(_ central: CBCentralManager, didFailToConnectPeripheral peripheral: CBPeripheral, error error: NSError?)
To
optional func centralManager(_ central: CBCentralManager, didFailToConnect peripheral: CBPeripheral, error error: Error?)

Declaration
From
optional func centralManager(_ central: CBCentralManager, willRestoreState dict: [String : AnyObject])
To
optional func centralManager(_ central: CBCentralManager, willRestoreState dict: [String : Any])

DeclarationDeprecation
From
enum CBCentralManagerState : Int {
    case Unknown
    case Resetting
    case Unsupported
    case Unauthorized
    case PoweredOff
    case PoweredOn
}
--
To
enum CBCentralManagerState : Int {
    case unknown
    case resetting
    case unsupported
    case unauthorized
    case poweredOff
    case poweredOn
}
tvOS 10.0

Declaration
From
case PoweredOff
To
case poweredOff

Declaration
From
case PoweredOn
To
case poweredOn

Declaration
From
case Resetting
To
case resetting

Declaration
From
case Unauthorized
To
case unauthorized

Declaration
From
case Unknown
To
case unknown

Declaration
From
case Unsupported
To
case unsupported

Declaration
From
class CBCharacteristic : CBAttribute {
    unowned(unsafe) var service: CBService { get }
    var properties: CBCharacteristicProperties { get }
    var value: NSData? { get }
    var descriptors: [CBDescriptor]? { get }
    var isBroadcasted: Bool { get }
    var isNotifying: Bool { get }
}
To
class CBCharacteristic : CBAttribute {
    unowned(unsafe) var service: CBService { get }
    var properties: CBCharacteristicProperties { get }
    var value: Data? { get }
    var descriptors: [CBDescriptor]? { get }
    var isBroadcasted: Bool { get }
    var isNotifying: Bool { get }
}

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

DeclarationProtocols
From
struct CBCharacteristicProperties : OptionSetType {
    init(rawValue rawValue: UInt)
    static var Broadcast: CBCharacteristicProperties { get }
    static var Read: CBCharacteristicProperties { get }
    static var WriteWithoutResponse: CBCharacteristicProperties { get }
    static var Write: CBCharacteristicProperties { get }
    static var Notify: CBCharacteristicProperties { get }
    static var Indicate: CBCharacteristicProperties { get }
    static var AuthenticatedSignedWrites: CBCharacteristicProperties { get }
    static var ExtendedProperties: CBCharacteristicProperties { get }
    static var NotifyEncryptionRequired: CBCharacteristicProperties { get }
    static var IndicateEncryptionRequired: CBCharacteristicProperties { get }
}
OptionSetType
To
struct CBCharacteristicProperties : OptionSet {
    init(rawValue rawValue: UInt)
    static var broadcast: CBCharacteristicProperties { get }
    static var read: CBCharacteristicProperties { get }
    static var writeWithoutResponse: CBCharacteristicProperties { get }
    static var write: CBCharacteristicProperties { get }
    static var notify: CBCharacteristicProperties { get }
    static var indicate: CBCharacteristicProperties { get }
    static var authenticatedSignedWrites: CBCharacteristicProperties { get }
    static var extendedProperties: CBCharacteristicProperties { get }
    static var notifyEncryptionRequired: CBCharacteristicProperties { get }
    static var indicateEncryptionRequired: CBCharacteristicProperties { get }
    func intersect(_ other: CBCharacteristicProperties) -> CBCharacteristicProperties
    func exclusiveOr(_ other: CBCharacteristicProperties) -> CBCharacteristicProperties
    mutating func unionInPlace(_ other: CBCharacteristicProperties)
    mutating func intersectInPlace(_ other: CBCharacteristicProperties)
    mutating func exclusiveOrInPlace(_ other: CBCharacteristicProperties)
    func isSubsetOf(_ other: CBCharacteristicProperties) -> Bool
    func isDisjointWith(_ other: CBCharacteristicProperties) -> Bool
    func isSupersetOf(_ other: CBCharacteristicProperties) -> Bool
    mutating func subtractInPlace(_ other: CBCharacteristicProperties)
    func isStrictSupersetOf(_ other: CBCharacteristicProperties) -> Bool
    func isStrictSubsetOf(_ other: CBCharacteristicProperties) -> Bool
}
extension CBCharacteristicProperties {
    func union(_ other: CBCharacteristicProperties) -> CBCharacteristicProperties
    func intersection(_ other: CBCharacteristicProperties) -> CBCharacteristicProperties
    func symmetricDifference(_ other: CBCharacteristicProperties) -> CBCharacteristicProperties
}
extension CBCharacteristicProperties {
    func contains(_ member: CBCharacteristicProperties) -> Bool
    mutating func insert(_ newMember: CBCharacteristicProperties) -> (inserted: Bool, memberAfterInsert: CBCharacteristicProperties)
    mutating func remove(_ member: CBCharacteristicProperties) -> CBCharacteristicProperties?
    mutating func update(with newMember: CBCharacteristicProperties) -> CBCharacteristicProperties?
}
extension CBCharacteristicProperties {
    convenience init()
    mutating func formUnion(_ other: CBCharacteristicProperties)
    mutating func formIntersection(_ other: CBCharacteristicProperties)
    mutating func formSymmetricDifference(_ other: CBCharacteristicProperties)
}
extension CBCharacteristicProperties {
    convenience init<S : Sequence where S.Iterator.Element == CBCharacteristicProperties>(_ sequence: S)
    convenience init(arrayLiteral arrayLiteral: CBCharacteristicProperties...)
    mutating func subtract(_ other: CBCharacteristicProperties)
    func isSubset(of other: CBCharacteristicProperties) -> Bool
    func isSuperset(of other: CBCharacteristicProperties) -> Bool
    func isDisjoint(with other: CBCharacteristicProperties) -> Bool
    func subtracting(_ other: CBCharacteristicProperties) -> CBCharacteristicProperties
    var isEmpty: Bool { get }
    func isStrictSuperset(of other: CBCharacteristicProperties) -> Bool
    func isStrictSubset(of other: CBCharacteristicProperties) -> Bool
}
OptionSet

Declaration
From
static var AuthenticatedSignedWrites: CBCharacteristicProperties { get }
To
static var authenticatedSignedWrites: CBCharacteristicProperties { get }

Declaration
From
static var Broadcast: CBCharacteristicProperties { get }
To
static var broadcast: CBCharacteristicProperties { get }

Declaration
From
static var ExtendedProperties: CBCharacteristicProperties { get }
To
static var extendedProperties: CBCharacteristicProperties { get }

Declaration
From
static var Indicate: CBCharacteristicProperties { get }
To
static var indicate: CBCharacteristicProperties { get }

Declaration
From
static var IndicateEncryptionRequired: CBCharacteristicProperties { get }
To
static var indicateEncryptionRequired: CBCharacteristicProperties { get }

Declaration
From
static var Notify: CBCharacteristicProperties { get }
To
static var notify: CBCharacteristicProperties { get }

Declaration
From
static var NotifyEncryptionRequired: CBCharacteristicProperties { get }
To
static var notifyEncryptionRequired: CBCharacteristicProperties { get }

Declaration
From
static var Read: CBCharacteristicProperties { get }
To
static var read: CBCharacteristicProperties { get }

Declaration
From
static var Write: CBCharacteristicProperties { get }
To
static var write: CBCharacteristicProperties { get }

Declaration
From
static var WriteWithoutResponse: CBCharacteristicProperties { get }
To
static var writeWithoutResponse: CBCharacteristicProperties { get }

Declaration
From
enum CBCharacteristicWriteType : Int {
    case WithResponse
    case WithoutResponse
}
To
enum CBCharacteristicWriteType : Int {
    case withResponse
    case withoutResponse
}

Declaration
From
case WithoutResponse
To
case withoutResponse

Declaration
From
case WithResponse
To
case withResponse

Modified CBDescriptor
Declaration
From
class CBDescriptor : CBAttribute {
    unowned(unsafe) var characteristic: CBCharacteristic { get }
    var value: AnyObject? { get }
}
To
class CBDescriptor : CBAttribute {
    unowned(unsafe) var characteristic: CBCharacteristic { get }
    var value: Any? { get }
}

Declaration
From
var value: AnyObject? { get }
To
var value: Any? { get }

Declaration
From
enum CBError : Int {
    case Unknown
    case InvalidParameters
    case InvalidHandle
    case NotConnected
    case OutOfSpace
    case OperationCancelled
    case ConnectionTimeout
    case PeripheralDisconnected
    case UUIDNotAllowed
    case AlreadyAdvertising
    case ConnectionFailed
    case ConnectionLimitReached
}
extension CBError : _BridgedNSError {
}
extension CBError : _BridgedNSError {
}
To
enum Code : Int {
        typealias _ErrorType = CBError
        case unknown
        case invalidParameters
        case invalidHandle
        case notConnected
        case outOfSpace
        case operationCancelled
        case connectionTimeout
        case peripheralDisconnected
        case uuidNotAllowed
        case alreadyAdvertising
        case connectionFailed
        case connectionLimitReached
    }

Declaration
From
case AlreadyAdvertising
To
case alreadyAdvertising

Declaration
From
case ConnectionFailed
To
case connectionFailed

Declaration
From
case ConnectionLimitReached
To
case connectionLimitReached

DeclarationIntroduction
From
case ConnectionTimeout
tvOS 9.0
To
case connectionTimeout
tvOS 10.0

Declaration
From
case InvalidHandle
To
case invalidHandle

Declaration
From
case InvalidParameters
To
case invalidParameters

Declaration
From
case NotConnected
To
case notConnected

Declaration
From
case OperationCancelled
To
case operationCancelled

Declaration
From
case OutOfSpace
To
case outOfSpace

Declaration
From
case PeripheralDisconnected
To
case peripheralDisconnected

Declaration
From
case Unknown
To
case unknown

Declaration
From
case UUIDNotAllowed
To
case uuidNotAllowed

Declaration
From
class CBMutableCharacteristic : CBCharacteristic {
    var permissions: CBAttributePermissions
    var subscribedCentrals: [CBCentral]? { get }
    var properties: CBCharacteristicProperties
    var value: NSData?
    var descriptors: [CBDescriptor]?
    init(type UUID: CBUUID, properties properties: CBCharacteristicProperties, value value: NSData?, permissions permissions: CBAttributePermissions)
}
To
class CBMutableCharacteristic : CBCharacteristic {
    var permissions: CBAttributePermissions
    var subscribedCentrals: [CBCentral]? { get }
    var properties: CBCharacteristicProperties
    var value: Data?
    var descriptors: [CBDescriptor]?
    init(type UUID: CBUUID, properties properties: CBCharacteristicProperties, value value: Data?, permissions permissions: CBAttributePermissions)
}

Declaration
From
var value: NSData?
To
var value: Data?

Declaration
From
class CBMutableDescriptor : CBDescriptor {
    init(type UUID: CBUUID, value value: AnyObject?)
}
To
class CBMutableDescriptor : CBDescriptor {
    init(type UUID: CBUUID, value value: Any?)
}

Modified CBPeer
DeclarationProtocols
From
class CBPeer : NSObject, NSCopying {
    init()
    var identifier: NSUUID { get }
}
NSCopying
To
class CBPeer : NSObject, NSCopying {
    init()
    var identifier: UUID { get }
    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?
}
extension CBPeer : CVarArg {
}
extension CBPeer : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable, NSCopying

Declaration
From
var identifier: NSUUID { get }
To
var identifier: UUID { get }

Modified CBPeripheral
Declaration
From
class CBPeripheral : CBPeer {
    unowned(unsafe) var delegate: CBPeripheralDelegate?
    var name: String? { get }
    var RSSI: NSNumber? { get }
    var state: CBPeripheralState { get }
    var services: [CBService]? { get }
    func readRSSI()
    func discoverServices(_ serviceUUIDs: [CBUUID]?)
    func discoverIncludedServices(_ includedServiceUUIDs: [CBUUID]?, forService service: CBService)
    func discoverCharacteristics(_ characteristicUUIDs: [CBUUID]?, forService service: CBService)
    func readValueForCharacteristic(_ characteristic: CBCharacteristic)
    func maximumWriteValueLengthForType(_ type: CBCharacteristicWriteType) -> Int
    func writeValue(_ data: NSData, forCharacteristic characteristic: CBCharacteristic, type type: CBCharacteristicWriteType)
    func setNotifyValue(_ enabled: Bool, forCharacteristic characteristic: CBCharacteristic)
    func discoverDescriptorsForCharacteristic(_ characteristic: CBCharacteristic)
    func readValueForDescriptor(_ descriptor: CBDescriptor)
    func writeValue(_ data: NSData, forDescriptor descriptor: CBDescriptor)
}
To
class CBPeripheral : CBPeer {
    weak var delegate: CBPeripheralDelegate?
    var name: String? { get }
    var rssi: NSNumber? { get }
    var state: CBPeripheralState { get }
    var services: [CBService]? { get }
    func readRSSI()
    func discoverServices(_ serviceUUIDs: [CBUUID]?)
    func discoverIncludedServices(_ includedServiceUUIDs: [CBUUID]?, for service: CBService)
    func discoverCharacteristics(_ characteristicUUIDs: [CBUUID]?, for service: CBService)
    func readValue(for characteristic: CBCharacteristic)
    func maximumWriteValueLength(for type: CBCharacteristicWriteType) -> Int
    func writeValue(_ data: Data, for characteristic: CBCharacteristic, type type: CBCharacteristicWriteType)
    func setNotifyValue(_ enabled: Bool, for characteristic: CBCharacteristic)
    func discoverDescriptors(for characteristic: CBCharacteristic)
    func readValue(for descriptor: CBDescriptor)
    func writeValue(_ data: Data, for descriptor: CBDescriptor)
}

Declaration
From
unowned(unsafe) var delegate: CBPeripheralDelegate?
To
weak var delegate: CBPeripheralDelegate?

Declaration
From
func discoverCharacteristics(_ characteristicUUIDs: [CBUUID]?, forService service: CBService)
To
func discoverCharacteristics(_ characteristicUUIDs: [CBUUID]?, for service: CBService)

Declaration
From
func discoverDescriptorsForCharacteristic(_ characteristic: CBCharacteristic)
To
func discoverDescriptors(for characteristic: CBCharacteristic)

Declaration
From
func discoverIncludedServices(_ includedServiceUUIDs: [CBUUID]?, forService service: CBService)
To
func discoverIncludedServices(_ includedServiceUUIDs: [CBUUID]?, for service: CBService)

Declaration
From
func maximumWriteValueLengthForType(_ type: CBCharacteristicWriteType) -> Int
To
func maximumWriteValueLength(for type: CBCharacteristicWriteType) -> Int

Declaration
From
func readValueForDescriptor(_ descriptor: CBDescriptor)
To
func readValue(for descriptor: CBDescriptor)

Declaration
From
func readValueForCharacteristic(_ characteristic: CBCharacteristic)
To
func readValue(for characteristic: CBCharacteristic)

Declaration
From
var RSSI: NSNumber? { get }
To
var rssi: NSNumber? { get }

Declaration
From
func setNotifyValue(_ enabled: Bool, forCharacteristic characteristic: CBCharacteristic)
To
func setNotifyValue(_ enabled: Bool, for characteristic: CBCharacteristic)

Declaration
From
func writeValue(_ data: NSData, forDescriptor descriptor: CBDescriptor)
To
func writeValue(_ data: Data, for descriptor: CBDescriptor)

Declaration
From
func writeValue(_ data: NSData, forCharacteristic characteristic: CBCharacteristic, type type: CBCharacteristicWriteType)
To
func writeValue(_ data: Data, for characteristic: CBCharacteristic, type type: CBCharacteristicWriteType)

Declaration
From
protocol CBPeripheralDelegate : NSObjectProtocol {
    optional func peripheralDidUpdateName(_ peripheral: CBPeripheral)
    optional func peripheral(_ peripheral: CBPeripheral, didModifyServices invalidatedServices: [CBService])
    optional func peripheralDidUpdateRSSI(_ peripheral: CBPeripheral, error error: NSError?)
    optional func peripheral(_ peripheral: CBPeripheral, didReadRSSI RSSI: NSNumber, error error: NSError?)
    optional func peripheral(_ peripheral: CBPeripheral, didDiscoverServices error: NSError?)
    optional func peripheral(_ peripheral: CBPeripheral, didDiscoverIncludedServicesForService service: CBService, error error: NSError?)
    optional func peripheral(_ peripheral: CBPeripheral, didDiscoverCharacteristicsForService service: CBService, error error: NSError?)
    optional func peripheral(_ peripheral: CBPeripheral, didUpdateValueForCharacteristic characteristic: CBCharacteristic, error error: NSError?)
    optional func peripheral(_ peripheral: CBPeripheral, didWriteValueForCharacteristic characteristic: CBCharacteristic, error error: NSError?)
    optional func peripheral(_ peripheral: CBPeripheral, didUpdateNotificationStateForCharacteristic characteristic: CBCharacteristic, error error: NSError?)
    optional func peripheral(_ peripheral: CBPeripheral, didDiscoverDescriptorsForCharacteristic characteristic: CBCharacteristic, error error: NSError?)
    optional func peripheral(_ peripheral: CBPeripheral, didUpdateValueForDescriptor descriptor: CBDescriptor, error error: NSError?)
    optional func peripheral(_ peripheral: CBPeripheral, didWriteValueForDescriptor descriptor: CBDescriptor, error error: NSError?)
}
To
protocol CBPeripheralDelegate : NSObjectProtocol {
    optional func peripheralDidUpdateName(_ peripheral: CBPeripheral)
    optional func peripheral(_ peripheral: CBPeripheral, didModifyServices invalidatedServices: [CBService])
    optional func peripheralDidUpdateRSSI(_ peripheral: CBPeripheral, error error: Error?)
    optional func peripheral(_ peripheral: CBPeripheral, didReadRSSI RSSI: NSNumber, error error: Error?)
    optional func peripheral(_ peripheral: CBPeripheral, didDiscoverServices error: Error?)
    optional func peripheral(_ peripheral: CBPeripheral, didDiscoverIncludedServicesFor service: CBService, error error: Error?)
    optional func peripheral(_ peripheral: CBPeripheral, didDiscoverCharacteristicsFor service: CBService, error error: Error?)
    optional func peripheral(_ peripheral: CBPeripheral, didUpdateValueFor characteristic: CBCharacteristic, error error: Error?)
    optional func peripheral(_ peripheral: CBPeripheral, didWriteValueFor characteristic: CBCharacteristic, error error: Error?)
    optional func peripheral(_ peripheral: CBPeripheral, didUpdateNotificationStateFor characteristic: CBCharacteristic, error error: Error?)
    optional func peripheral(_ peripheral: CBPeripheral, didDiscoverDescriptorsFor characteristic: CBCharacteristic, error error: Error?)
    optional func peripheral(_ peripheral: CBPeripheral, didUpdateValueFor descriptor: CBDescriptor, error error: Error?)
    optional func peripheral(_ peripheral: CBPeripheral, didWriteValueFor descriptor: CBDescriptor, error error: Error?)
}

Declaration
From
optional func peripheral(_ peripheral: CBPeripheral, didDiscoverCharacteristicsForService service: CBService, error error: NSError?)
To
optional func peripheral(_ peripheral: CBPeripheral, didDiscoverCharacteristicsFor service: CBService, error error: Error?)

Declaration
From
optional func peripheral(_ peripheral: CBPeripheral, didDiscoverDescriptorsForCharacteristic characteristic: CBCharacteristic, error error: NSError?)
To
optional func peripheral(_ peripheral: CBPeripheral, didDiscoverDescriptorsFor characteristic: CBCharacteristic, error error: Error?)

Declaration
From
optional func peripheral(_ peripheral: CBPeripheral, didDiscoverIncludedServicesForService service: CBService, error error: NSError?)
To
optional func peripheral(_ peripheral: CBPeripheral, didDiscoverIncludedServicesFor service: CBService, error error: Error?)

Declaration
From
optional func peripheral(_ peripheral: CBPeripheral, didDiscoverServices error: NSError?)
To
optional func peripheral(_ peripheral: CBPeripheral, didDiscoverServices error: Error?)

Declaration
From
optional func peripheral(_ peripheral: CBPeripheral, didReadRSSI RSSI: NSNumber, error error: NSError?)
To
optional func peripheral(_ peripheral: CBPeripheral, didReadRSSI RSSI: NSNumber, error error: Error?)

Declaration
From
optional func peripheral(_ peripheral: CBPeripheral, didUpdateNotificationStateForCharacteristic characteristic: CBCharacteristic, error error: NSError?)
To
optional func peripheral(_ peripheral: CBPeripheral, didUpdateNotificationStateFor characteristic: CBCharacteristic, error error: Error?)

Declaration
From
optional func peripheral(_ peripheral: CBPeripheral, didUpdateValueForCharacteristic characteristic: CBCharacteristic, error error: NSError?)
To
optional func peripheral(_ peripheral: CBPeripheral, didUpdateValueFor characteristic: CBCharacteristic, error error: Error?)

Declaration
From
optional func peripheral(_ peripheral: CBPeripheral, didUpdateValueForDescriptor descriptor: CBDescriptor, error error: NSError?)
To
optional func peripheral(_ peripheral: CBPeripheral, didUpdateValueFor descriptor: CBDescriptor, error error: Error?)

Declaration
From
optional func peripheral(_ peripheral: CBPeripheral, didWriteValueForDescriptor descriptor: CBDescriptor, error error: NSError?)
To
optional func peripheral(_ peripheral: CBPeripheral, didWriteValueFor descriptor: CBDescriptor, error error: Error?)

Declaration
From
optional func peripheral(_ peripheral: CBPeripheral, didWriteValueForCharacteristic characteristic: CBCharacteristic, error error: NSError?)
To
optional func peripheral(_ peripheral: CBPeripheral, didWriteValueFor characteristic: CBCharacteristic, error error: Error?)

Declaration
From
optional func peripheralDidUpdateRSSI(_ peripheral: CBPeripheral, error error: NSError?)
To
optional func peripheralDidUpdateRSSI(_ peripheral: CBPeripheral, error error: Error?)

DeclarationSuperclasses
From
class CBPeripheralManager : NSObject {
    unowned(unsafe) var delegate: CBPeripheralManagerDelegate?
    var state: CBPeripheralManagerState { get }
    var isAdvertising: Bool { get }
    class func authorizationStatus() -> CBPeripheralManagerAuthorizationStatus
    convenience init(delegate delegate: CBPeripheralManagerDelegate?, queue queue: dispatch_queue_t?)
    init(delegate delegate: CBPeripheralManagerDelegate?, queue queue: dispatch_queue_t?, options options: [String : AnyObject]?)
    func startAdvertising(_ advertisementData: [String : AnyObject]?)
    func stopAdvertising()
    func setDesiredConnectionLatency(_ latency: CBPeripheralManagerConnectionLatency, forCentral central: CBCentral)
    func addService(_ service: CBMutableService)
    func removeService(_ service: CBMutableService)
    func removeAllServices()
    func respondToRequest(_ request: CBATTRequest, withResult result: CBATTError)
    func updateValue(_ value: NSData, forCharacteristic characteristic: CBMutableCharacteristic, onSubscribedCentrals centrals: [CBCentral]?) -> Bool
}
NSObject
To
class CBPeripheralManager : CBManager {
    weak var delegate: CBPeripheralManagerDelegate?
    var isAdvertising: Bool { get }
    class func authorizationStatus() -> CBPeripheralManagerAuthorizationStatus
    convenience init()
    convenience init(delegate delegate: CBPeripheralManagerDelegate?, queue queue: DispatchQueue?)
    init(delegate delegate: CBPeripheralManagerDelegate?, queue queue: DispatchQueue?, options options: [String : Any]? = nil)
    func startAdvertising(_ advertisementData: [String : Any]?)
    func stopAdvertising()
    func setDesiredConnectionLatency(_ latency: CBPeripheralManagerConnectionLatency, for central: CBCentral)
    func add(_ service: CBMutableService)
    func remove(_ service: CBMutableService)
    func removeAllServices()
    func respond(to request: CBATTRequest, withResult result: CBATTError.Code)
    func updateValue(_ value: Data, for characteristic: CBMutableCharacteristic, onSubscribedCentrals centrals: [CBCentral]?) -> Bool
}
CBManager

Declaration
From
func addService(_ service: CBMutableService)
To
func add(_ service: CBMutableService)

Declaration
From
unowned(unsafe) var delegate: CBPeripheralManagerDelegate?
To
weak var delegate: CBPeripheralManagerDelegate?

Declaration
From
func removeService(_ service: CBMutableService)
To
func remove(_ service: CBMutableService)

Declaration
From
func respondToRequest(_ request: CBATTRequest, withResult result: CBATTError)
To
func respond(to request: CBATTRequest, withResult result: CBATTError.Code)

Declaration
From
func setDesiredConnectionLatency(_ latency: CBPeripheralManagerConnectionLatency, forCentral central: CBCentral)
To
func setDesiredConnectionLatency(_ latency: CBPeripheralManagerConnectionLatency, for central: CBCentral)

Declaration
From
func startAdvertising(_ advertisementData: [String : AnyObject]?)
To
func startAdvertising(_ advertisementData: [String : Any]?)

Declaration
From
func updateValue(_ value: NSData, forCharacteristic characteristic: CBMutableCharacteristic, onSubscribedCentrals centrals: [CBCentral]?) -> Bool
To
func updateValue(_ value: Data, for characteristic: CBMutableCharacteristic, onSubscribedCentrals centrals: [CBCentral]?) -> Bool

Declaration
From
enum CBPeripheralManagerAuthorizationStatus : Int {
    case NotDetermined
    case Restricted
    case Denied
    case Authorized
}
To
enum CBPeripheralManagerAuthorizationStatus : Int {
    case notDetermined
    case restricted
    case denied
    case authorized
}

Declaration
From
case Authorized
To
case authorized

Declaration
From
case Denied
To
case denied

Declaration
From
case NotDetermined
To
case notDetermined

Declaration
From
case Restricted
To
case restricted

Declaration
From
enum CBPeripheralManagerConnectionLatency : Int {
    case Low
    case Medium
    case High
}
To
enum CBPeripheralManagerConnectionLatency : Int {
    case low
    case medium
    case high
}

Declaration
From
case High
To
case high

Declaration
From
case Low
To
case low

Declaration
From
case Medium
To
case medium

Declaration
From
protocol CBPeripheralManagerDelegate : NSObjectProtocol {
    func peripheralManagerDidUpdateState(_ peripheral: CBPeripheralManager)
    optional func peripheralManager(_ peripheral: CBPeripheralManager, willRestoreState dict: [String : AnyObject])
    optional func peripheralManagerDidStartAdvertising(_ peripheral: CBPeripheralManager, error error: NSError?)
    optional func peripheralManager(_ peripheral: CBPeripheralManager, didAddService service: CBService, error error: NSError?)
    optional func peripheralManager(_ peripheral: CBPeripheralManager, central central: CBCentral, didSubscribeToCharacteristic characteristic: CBCharacteristic)
    optional func peripheralManager(_ peripheral: CBPeripheralManager, central central: CBCentral, didUnsubscribeFromCharacteristic characteristic: CBCharacteristic)
    optional func peripheralManager(_ peripheral: CBPeripheralManager, didReceiveReadRequest request: CBATTRequest)
    optional func peripheralManager(_ peripheral: CBPeripheralManager, didReceiveWriteRequests requests: [CBATTRequest])
    optional func peripheralManagerIsReadyToUpdateSubscribers(_ peripheral: CBPeripheralManager)
}
To
protocol CBPeripheralManagerDelegate : NSObjectProtocol {
    func peripheralManagerDidUpdateState(_ peripheral: CBPeripheralManager)
    optional func peripheralManager(_ peripheral: CBPeripheralManager, willRestoreState dict: [String : Any])
    optional func peripheralManagerDidStartAdvertising(_ peripheral: CBPeripheralManager, error error: Error?)
    optional func peripheralManager(_ peripheral: CBPeripheralManager, didAdd service: CBService, error error: Error?)
    optional func peripheralManager(_ peripheral: CBPeripheralManager, central central: CBCentral, didSubscribeTo characteristic: CBCharacteristic)
    optional func peripheralManager(_ peripheral: CBPeripheralManager, central central: CBCentral, didUnsubscribeFrom characteristic: CBCharacteristic)
    optional func peripheralManager(_ peripheral: CBPeripheralManager, didReceiveRead request: CBATTRequest)
    optional func peripheralManager(_ peripheral: CBPeripheralManager, didReceiveWrite requests: [CBATTRequest])
    optional func peripheralManagerIsReady(toUpdateSubscribers peripheral: CBPeripheralManager)
}

Declaration
From
optional func peripheralManager(_ peripheral: CBPeripheralManager, central central: CBCentral, didSubscribeToCharacteristic characteristic: CBCharacteristic)
To
optional func peripheralManager(_ peripheral: CBPeripheralManager, central central: CBCentral, didSubscribeTo characteristic: CBCharacteristic)

Declaration
From
optional func peripheralManager(_ peripheral: CBPeripheralManager, central central: CBCentral, didUnsubscribeFromCharacteristic characteristic: CBCharacteristic)
To
optional func peripheralManager(_ peripheral: CBPeripheralManager, central central: CBCentral, didUnsubscribeFrom characteristic: CBCharacteristic)

Declaration
From
optional func peripheralManager(_ peripheral: CBPeripheralManager, didAddService service: CBService, error error: NSError?)
To
optional func peripheralManager(_ peripheral: CBPeripheralManager, didAdd service: CBService, error error: Error?)

Declaration
From
optional func peripheralManager(_ peripheral: CBPeripheralManager, didReceiveReadRequest request: CBATTRequest)
To
optional func peripheralManager(_ peripheral: CBPeripheralManager, didReceiveRead request: CBATTRequest)

Declaration
From
optional func peripheralManager(_ peripheral: CBPeripheralManager, didReceiveWriteRequests requests: [CBATTRequest])
To
optional func peripheralManager(_ peripheral: CBPeripheralManager, didReceiveWrite requests: [CBATTRequest])

Declaration
From
optional func peripheralManager(_ peripheral: CBPeripheralManager, willRestoreState dict: [String : AnyObject])
To
optional func peripheralManager(_ peripheral: CBPeripheralManager, willRestoreState dict: [String : Any])

Declaration
From
optional func peripheralManagerDidStartAdvertising(_ peripheral: CBPeripheralManager, error error: NSError?)
To
optional func peripheralManagerDidStartAdvertising(_ peripheral: CBPeripheralManager, error error: Error?)

Declaration
From
optional func peripheralManagerIsReadyToUpdateSubscribers(_ peripheral: CBPeripheralManager)
To
optional func peripheralManagerIsReady(toUpdateSubscribers peripheral: CBPeripheralManager)

DeclarationDeprecation
From
enum CBPeripheralManagerState : Int {
    case Unknown
    case Resetting
    case Unsupported
    case Unauthorized
    case PoweredOff
    case PoweredOn
}
--
To
enum CBPeripheralManagerState : Int {
    case unknown
    case resetting
    case unsupported
    case unauthorized
    case poweredOff
    case poweredOn
}
tvOS 10.0

Declaration
From
case PoweredOff
To
case poweredOff

Declaration
From
case PoweredOn
To
case poweredOn

Declaration
From
case Resetting
To
case resetting

Declaration
From
case Unauthorized
To
case unauthorized

Declaration
From
case Unknown
To
case unknown

Declaration
From
case Unsupported
To
case unsupported

Declaration
From
enum CBPeripheralState : Int {
    case Disconnected
    case Connecting
    case Connected
    case Disconnecting
}
To
enum CBPeripheralState : Int {
    case disconnected
    case connecting
    case connected
    case disconnecting
}

Declaration
From
case Connected
To
case connected

Declaration
From
case Connecting
To
case connecting

Declaration
From
case Disconnected
To
case disconnected

Declaration
From
case Disconnecting
To
case disconnecting

Modified CBUUID
DeclarationProtocols
From
class CBUUID : NSObject, NSCopying {
    var data: NSData { get }
    var UUIDString: String { get }
     init(string theString: String)
    class func UUIDWithString(_ theString: String) -> CBUUID
     init(data theData: NSData)
    class func UUIDWithData(_ theData: NSData) -> CBUUID
     init(CFUUID theUUID: CFUUID)
    class func UUIDWithCFUUID(_ theUUID: CFUUID) -> CBUUID
     init(NSUUID theUUID: NSUUID)
    class func UUIDWithNSUUID(_ theUUID: NSUUID) -> CBUUID
}
NSCopying
To
class CBUUID : NSObject, NSCopying {
    var data: Data { get }
    var uuidString: String { get }
     init(string theString: String)
    class func withString(_ theString: String) -> CBUUID
     init(data theData: Data)
    class func withData(_ theData: Data) -> CBUUID
     init(cfuuid theUUID: CFUUID)
    class func withCFUUID(_ theUUID: CFUUID) -> CBUUID
     init(nsuuid theUUID: UUID)
    class func withNSUUID(_ theUUID: UUID) -> CBUUID
    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?
}
extension CBUUID : CVarArg {
}
extension CBUUID : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable, NSCopying

Modified CBUUID.data
Declaration
From
var data: NSData { get }
To
var data: Data { get }

Declaration
From
init(CFUUID theUUID: CFUUID)
To
init(cfuuid theUUID: CFUUID)

Declaration
From
init(data theData: NSData)
To
init(data theData: Data)

Declaration
From
init(NSUUID theUUID: NSUUID)
To
init(nsuuid theUUID: UUID)

Declaration
From
var UUIDString: String { get }
To
var uuidString: String { get }