Pure Swift Bluetooth Stack for Linux
Does not require BlueZ userland library, communicates directly with the Linux kernel Bluetooth subsystem.
import Bluetooth import BluetoothLinux guard let hostController = await BluetoothLinux.HostController.default else { fatalError("No Bluetooth adapters found") } let uuid = UUID(rawValue: "E2C56DB5-DFFB-48D2-B060-D0F5A71096E0")! let beacon = AppleBeacon(uuid: uuid, major: 1, minor: 1, rssi: -29) do { try await hostController.iBeacon(beacon) } catch { print("Error enabling iBeacon: \(error)") }import PackageDescription let package = Package( dependencies: [ .package( url: "https://github.com/PureSwift/BluetoothLinux.git", .branch("master") ) ] )Read the documentation here. Documentation can be generated with DocC.
- Bluetooth - Pure Swift Bluetooth Definitions.
- GATT - Bluetooth Generic Attribute Profile (GATT) for Swift.
- Netlink - Swift library for communicating with Linux Kernel Netlink subsystem.
BluetoothLinux is released under the MIT license. See LICENSE for details.
