All notable changes to this project will be documented in this file.
- Fix Swift 5.9 (Xcode 15) build error caused by
Data(bytes:count:)
initializer.
- Fix official cocoapods release
- Synchronize access to array storing peripherals to increase thread safety.
- Peripheral which was connected, but it was not on the list of peripherals that should be connected, is disconnected. This change allows to discover this peripheral again.
- added settable
centralManagerStateUpdateHandler
public property toBluetoothConnection
to monitor updates to Central Manager state.
bluetoothAuthorizationStatus
public property was added toBluetoothConnection
to determine current Bluetooth authorization status.requestBluetoothAuthorization()
public method was added toBluetoothConnection
to requests User for authorization to use Bluetooth.BluetoothAuthorizationStatus
enum describing Bluetooth authorization status
ConnectionService
: centralManager (CBCentralManager
) is instantiated lazily to postpone showing Bluetooth authorization popup until it is needed.
- enabled Swift library evolution (
BUILD_LIBRARY_FOR_DISTRIBUTION = YES
) to allow creating XCFrameworks using BlueSwift. See "Library Evolution in Swift" official swift blogpost. This change:- allows modules built with different compiler versions to be used together in one app.
- allows developers of binary frameworks to make additive changes to the API of their framework while remaining binary compatible with previous versions.
- added public
peripheralConnectionCancelledHandler(_:)
setable property toBluetoothConnection
class. It is called when disconnecting a peripheral usingdisconnect(_:)
is completed
- refactored
.filter(_:).first
tofirst(where:)
for optimisation