Update GitHub CI
Bluetooth Generic Attribute Profile (GATT) for Swift
import Bluetooth #if canImport(Darwin) import DarwinGATT #elseif os(Linux) import BluetoothLinux #endif #if os(Linux) typealias LinuxPeripheral = GATTPeripheral<BluetoothLinux.HostController, BluetoothLinux.L2CAPSocket> guard let hostController = await HostController.default else { fatalError("No Bluetooth hardware connected") } let serverOptions = GATTPeripheralOptions( maximumTransmissionUnit: .max, maximumPreparedWrites: 1000 ) let peripheral = LinuxPeripheral( hostController: hostController, options: serverOptions, socket: BluetoothLinux.L2CAPSocket.self ) #elseif canImport(Darwin) let peripheral = DarwinPeripheral() #else #error("Unsupported platform") #endif // start advertising try await peripheral.start()
import Bluetooth #if canImport(Darwin) import DarwinGATT #elseif os(Linux) import BluetoothLinux #endif #if os(Linux) typealias LinuxCentral = GATTCentral<BluetoothLinux.HostController, BluetoothLinux.L2CAPSocket> let hostController = await HostController.default let central = LinuxCentral( hostController: hostController, socket: BluetoothLinux.L2CAPSocket.self ) #elseif canImport(Darwin) let central = DarwinCentral() #else #error("Unsupported platform") #endif // start scanning let stream = try await central.scan(filterDuplicates: true) for try await scanData in stream { print(scanData) stream.stop() }
Read the documentation here. Documentation can be generated with DocC.
GATT is released under the MIT license. See LICENSE for details.
©Copyright 2023 CCF 开源发展委员会 Powered by Trustie& IntelliDE 京ICP备13000930号
GATT
Bluetooth Generic Attribute Profile (GATT) for Swift
Usage
Peripheral
Central
Documentation
Read the documentation here. Documentation can be generated with DocC.
See Also
License
GATT is released under the MIT license. See LICENSE for details.