Swiftpack.co -  PureSwift/BluetoothLinux as Swift Package
Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
Pure Swift Linux Bluetooth Stack
.package(url: "https://github.com/PureSwift/BluetoothLinux.git", from: "4.2.0")


Swift Platform Release Build Status License CodeBeat

SPM compatible

Pure Swift Bluetooth Stack for Linux

Does not require BlueZ, communicates directly with the Linux kernel and Bluetooth controller.


import Bluetooth
import BluetoothLinux

guard let hostController = 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 hostController.iBeacon(beacon) }
catch { print("Error enabling iBeacon: \(error)") }


Swift Package Manager

import PackageDescription

let package = Package(
    dependencies: [
			url: "https://github.com/PureSwift/BluetoothLinux.git",


Documentation can be generated with Jazzy.

swift package generate-xcodeproj

Read the documentation here. For more information, see the gh-pages branch.


Do not test in Parallels or VMware with the built in Bluetooth adapter found in Macs. You can, however, use VMWare or Parallels, with a Linux compatible Bluetooth LE USB adapter plugged in. VirtualBox will work with the builtin adapter on Macs.

For best results, test with Swift 5.1.5 on ARMv7 and a Linux-comptible Bluetooth dongle (e.g. CSR8510 A10).

See Also

  • Bluetooth - Pure Swift Bluetooth Definitions.
  • GATT - Bluetooth Generic Attribute Profile (GATT) for Swift
  • Silica - Pure Swift CoreGraphics (Quartz2D) implementation
  • Predicate - Pure Swift Predicate implementation


BluetoothLinux is released under the MIT license. See LICENSE for details.


Stars: 152
Last commit: 4 weeks ago

Ad: Job Offers

iOS Software Engineer @ Perry Street Software
Perry Street Software is Jack’d and SCRUFF. We are two of the world’s largest gay, bi, trans and queer social dating apps on iOS and Android. Our brands reach more than 20 million members worldwide so members can connect, meet and express themselves on a platform that prioritizes privacy and security. We invest heavily into SwiftUI and using Swift Packages to modularize the codebase.


Release Notes

39 weeks ago
  • 299b830 Updated for Swift 5.1
  • a559422 Removed HostController.address
  • f716d7f Added HCIDeviceOptions

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API