CoreBluetooth macOS 10.12 to 10.13 API Differences

CBATTRequest.h
Declaration
From@property (nonatomic, readonly, retain, nonnull) CBCentral *central
To@property (nonatomic, readonly, nonnull) CBCentral *central

Declaration
From@property (nonatomic, readonly, retain, nonnull) CBCharacteristic *characteristic
To@property (nonatomic, readonly, nonnull) CBCharacteristic *characteristic

CBAttribute.h
CBCentral.h
Removed CBCentral.UUID
Removed CBCentral.identifier
Modified CBCentral
SuperclassProtocols
FromNSObjectNSCopying
ToCBPeernone

CBCentralManager.h
Removed CBCentralManager.state
Removed -[CBCentralManager retrievePeripherals:]
Removed -[CBCentralManager retrieveConnectedPeripherals]
Removed -[CBCentralManagerDelegate centralManager:didRetrievePeripherals:]
Removed -[CBCentralManagerDelegate centralManager:didRetrieveConnectedPeripherals:]
AvailabilityDeprecation Message
FromAvailablenone
ToDeprecatedUse CBManagerState instead

AvailabilityDeprecation Message
FromAvailablenone
ToDeprecatedUse CBManagerState instead

AvailabilityDeprecation Message
FromAvailablenone
ToDeprecatedUse CBManagerState instead

AvailabilityDeprecation Message
FromAvailablenone
ToDeprecatedUse CBManagerState instead

AvailabilityDeprecation Message
FromAvailablenone
ToDeprecatedUse CBManagerState instead

AvailabilityDeprecation Message
FromAvailablenone
ToDeprecatedUse CBManagerState instead

Superclass
FromNSObject
ToCBManager

Declaration
From@property (nonatomic, assign, nullable) id<CBCentralManagerDelegate> delegate
To@property (nonatomic, weak, nullable) id<CBCentralManagerDelegate> delegate

Declaration
From- (nonnull id)initWithDelegate:(nullable id<CBCentralManagerDelegate>)delegate queue:(nullable dispatch_queue_t)queue
To- (nonnull instancetype)initWithDelegate:(nullable id<CBCentralManagerDelegate>)delegate queue:(nullable dispatch_queue_t)queue

Declaration
From- (nonnull id)initWithDelegate:(nullable id<CBCentralManagerDelegate>)delegate queue:(nullable dispatch_queue_t)queue options:(nullable NSDictionary<NSString *,id> *)options
To- (nonnull instancetype)initWithDelegate:(nullable id<CBCentralManagerDelegate>)delegate queue:(nullable dispatch_queue_t)queue options:(nullable NSDictionary<NSString *,id> *)options

CBCentralManagerConstants.h
CBCharacteristic.h
Removed CBCharacteristic.UUID
Removed CBMutableCharacteristic.UUID
Superclass
FromNSObject
ToCBAttribute

Availability
FromAvailable
ToDeprecated

Declaration
From- (nonnull id)initWithType:(nullable CBUUID *)UUID properties:(CBCharacteristicProperties)properties value:(nullable NSData *)value permissions:(CBAttributePermissions)permissions
To- (nonnull instancetype)initWithType:(nonnull CBUUID *)UUID properties:(CBCharacteristicProperties)properties value:(nullable NSData *)value permissions:(CBAttributePermissions)permissions

CBDescriptor.h
Removed CBDescriptor.UUID
Modified CBDescriptor
Superclass
FromNSObject
ToCBAttribute

Declaration
From- (nonnull id)initWithType:(nonnull CBUUID *)UUID value:(nullable id)value
To- (nonnull instancetype)initWithType:(nonnull CBUUID *)UUID value:(nullable id)value

CBError.h
Removed CBErrorMaxConnection
CBL2CAPChannel.h
CBManager.h
Added CBManager
CBPeer.h
Added CBPeer
CBPeripheral.h
Removed CBPeripheral.UUID
Removed CBPeripheral.identifier
Removed CBPeripheral.isConnected
Modified CBPeripheral
SuperclassProtocols
FromNSObjectNSCopying
ToCBPeernone

Declaration
From@property (nonatomic, assign, nullable) id<CBPeripheralDelegate> delegate
To@property (nonatomic, weak, nullable) id<CBPeripheralDelegate> delegate

Availability
FromAvailable
ToDeprecated

Availability
FromAvailable
ToDeprecated

CBPeripheralManager.h
Removed CBPeripheralAuthorizationStatus
Removed CBPeripheralAuthorizationStatusNotDetermined
Removed CBPeripheralAuthorizationStatusRestricted
Removed CBPeripheralAuthorizationStatusDenied
Removed CBPeripheralAuthorizationStatusAuthorized
Removed CBPeripheralManager.state
AvailabilityDeprecation Message
FromAvailablenone
ToDeprecatedUse CBManagerState instead

AvailabilityDeprecation Message
FromAvailablenone
ToDeprecatedUse CBManagerState instead

AvailabilityDeprecation Message
FromAvailablenone
ToDeprecatedUse CBManagerState instead

AvailabilityDeprecation Message
FromAvailablenone
ToDeprecatedUse CBManagerState instead

AvailabilityDeprecation Message
FromAvailablenone
ToDeprecatedUse CBManagerState instead

AvailabilityDeprecation Message
FromAvailablenone
ToDeprecatedUse CBManagerState instead

Superclass
FromNSObject
ToCBManager

Declaration
From@property (nonatomic, assign, nullable) id<CBPeripheralManagerDelegate> delegate
To@property (nonatomic, weak, nullable) id<CBPeripheralManagerDelegate> delegate

Declaration
From@property (readonly) BOOL isAdvertising
To@property (nonatomic, readonly, assign) BOOL isAdvertising

Declaration
From- (nonnull id)initWithDelegate:(nullable id<CBPeripheralManagerDelegate>)delegate queue:(nullable dispatch_queue_t)queue
To- (nonnull instancetype)initWithDelegate:(nullable id<CBPeripheralManagerDelegate>)delegate queue:(nullable dispatch_queue_t)queue

Declaration
From- (nonnull id)initWithDelegate:(nullable id<CBPeripheralManagerDelegate>)delegate queue:(nullable dispatch_queue_t)queue options:(nullable NSDictionary<NSString *,id> *)options
To- (nonnull instancetype)initWithDelegate:(nullable id<CBPeripheralManagerDelegate>)delegate queue:(nullable dispatch_queue_t)queue options:(nullable NSDictionary<NSString *,id> *)options

CBPeripheralManagerConstants.h
CBService.h
Removed CBService.UUID
Removed CBMutableService.UUID
Removed CBMutableService.isPrimary
Modified CBService
Superclass
FromNSObject
ToCBAttribute

Declaration
From@property (nonatomic, readonly, assign, nonnull) CBPeripheral *peripheral
To@property (nonatomic, readonly, assign, nonnull) CBPeripheral *peripheral

Declaration
From- (nonnull id)initWithType:(nullable CBUUID *)UUID primary:(BOOL)isPrimary
To- (nonnull instancetype)initWithType:(nonnull CBUUID *)UUID primary:(BOOL)isPrimary

CBUUID.h
Removed CBUUIDValidRangeString
Removed CBUUIDGenericAccessProfileString
Removed CBUUIDGenericAttributeProfileString
Removed CBUUIDDeviceNameString
Removed CBUUIDAppearanceString
Removed CBUUIDPeripheralPrivacyFlagString
Removed CBUUIDReconnectionAddressString
Removed CBUUIDPeripheralPreferredConnectionParametersString
Removed CBUUIDServiceChangedString
Modified CBUUID.data
Declaration
From@property (nonatomic, readonly, nonnull) NSData *data
To@property (nonatomic, readonly, nonnull) NSData *data

Declaration
From@property (nonatomic, readonly, nonnull) NSString *UUIDString
To@property (nonatomic, readonly, nonnull) NSString *UUIDString

Availability
FromAvailable
ToDeprecated