PureSwift/Bluetooth is a Swift package with multiple libraries supporting the Bluetooth SIG specifications and protocols, including GAP, GATT, HCI, L2CAP, Classic (BR/EDR) and Low Energy support.
Support for different operating systems and platforms is spread across a suite of Swift packages supporting each which all depend on this package as a Foundation. It also builds for WebAssembly (Chrome, Edge), Android, Embedded Swift, desktop Linux (Debian, Fedora, Arch), Buildroot and Yocto Linux.
Platform | Roles | Backend | Library |
---|---|---|---|
macOS, iOS, watchOS, tvOS, visionOS | Central, Peripheral | CoreBluetooth | DarwinGATT |
Linux | Central, Peripheral | BlueZ | BluetoothLinux, GATT |
Android | Central | Java Native Interface | AndroidBluetooth |
WebAssembly | Central | Bluetooth Web API | BluetoothWeb |
Pi Pico W | Peripheral | BlueKitchen BTStack | BTStack |
ESP32 | Peripheral | Apache NimBLE | NimBLE |
nRF52840 | Peripheral | Zephyr SDK | Zephyr |