GitHub - PureSwift/BluetoothLinux: Pure Swift Linux Bluetooth Stack
Pure Swift Bluetooth Stack for Linux
Does not require BlueZ userland library, communicates directly with the Linux kernel Bluetooth subsystem.
Usage
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)") }
Installation
Swift Package Manager
import PackageDescription let package = Package( dependencies: [ .package( url: "https://github.com/PureSwift/BluetoothLinux.git", .branch("master") ) ] )
Documentation
Read the documentation here. Documentation can be generated with DocC.
See Also
- Bluetooth - Pure Swift Bluetooth Definitions.
- GATT - Bluetooth Generic Attribute Profile (GATT) for Swift.
- Netlink - Swift library for communicating with Linux Kernel Netlink subsystem.
License
BluetoothLinux is released under the MIT license. See LICENSE for details.
