Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Swift
  3. RxBluetoothKit

RxBluetoothKit

Apache-2.0Swift6.0.0

A reactive Bluetooth library for iOS and macOS, providing a clean RxSwift API for BLE device interaction in both Central and Peripheral modes.

GitHubGitHub
1.4k stars377 forks0 contributors

What is RxBluetoothKit?

RxBluetoothKit is a reactive Bluetooth library for Apple platforms that simplifies interaction with Bluetooth Low Energy (BLE) devices. It wraps Apple's CoreBluetooth framework with RxSwift to provide observable streams for all Bluetooth operations, transforming the complex callback-based API into a clean, declarative programming model. The library supports both Central and Peripheral modes, enabling developers to build more readable, reliable, and maintainable BLE applications.

Target Audience

iOS, macOS, watchOS, and tvOS developers who need to integrate BLE functionality into their Swift applications and are already using or willing to adopt RxSwift for reactive programming. It's particularly suited for those frustrated with the verbosity and complexity of CoreBluetooth's delegate patterns.

Value Proposition

Developers choose RxBluetoothKit because it replaces CoreBluetooth's callback-heavy API with a consistent reactive interface using RxSwift observables, significantly reducing boilerplate and improving code clarity. Its unified cross-platform support across all Apple operating systems and comprehensive feature set for both Central and Peripheral roles provide a robust alternative to managing CoreBluetooth directly.

Overview

iOS & OSX Bluetooth library for RxSwift

Use Cases

Best For

  • Building iOS/macOS apps that scan for and connect to BLE peripherals like health sensors or IoT devices.
  • Developing reactive Swift applications that require clean, maintainable code for complex BLE workflows involving service discovery and characteristic monitoring.
  • Creating cross-platform Apple applications (iOS, macOS, watchOS, tvOS) that need a unified Bluetooth API.
  • Implementing BLE Peripheral mode functionality such as advertising services and handling read/write requests from central devices.
  • Simplifying BLE operations like reading, writing, and monitoring characteristic values using declarative RxSwift streams.
  • Reducing boilerplate code in BLE projects with built-in convenience helpers for common tasks like connection establishment and service discovery.

Not Ideal For

  • Projects that avoid RxSwift or prefer minimal dependencies
  • Teams developing for non-Apple platforms like Android or Windows
  • Applications requiring simple, imperative BLE code without reactive abstractions

Pros & Cons

Pros

Reactive BLE API

Uses RxSwift to provide observable streams for all operations, enabling declarative code that reduces callback boilerplate, as demonstrated in the concise example snippet.

Comprehensive Feature Set

Supports both Central and Peripheral modes with full BLE functionalities like scanning, connecting, reading/writing, and advertising, covering all CoreBluetooth capabilities.

Cross-Platform Apple Support

Offers a unified API across iOS, macOS, watchOS, and tvOS, allowing consistent BLE development on all Apple operating systems.

Convenience Helpers

Includes helper methods to simplify common workflows such as connection establishment and service discovery, reducing code complexity and boilerplate.

Cons

RxSwift Dependency

Forces adoption of RxSwift, which can bloat projects and requires team familiarity with reactive programming, adding complexity for those not already using it.

Migration Challenges

Major version updates, like the jump from 4.x to 5.x, require specific migration guidelines, indicating breaking changes that can disrupt existing codebases.

Platform Limitation

Only supports Apple platforms, making it unsuitable for projects targeting Android or other ecosystems, which limits cross-platform mobile development.

Frequently Asked Questions

Quick Stats

Stars1,434
Forks377
Contributors0
Open Issues52
Last commit2 years ago
CreatedSince 2016

Tags

#ios#rssi#ble#peripherals#reactive-programming#bluetooth#bluetooth-low-energy#scans#mobile-development#swift-library#macos#corebluetooth#rxswift

Built With

C
CoreBluetooth
S
Swift
R
RxSwift

Included in

Swift26.0k
Auto-fetched 1 day ago

Related Projects

BluetoothKitBluetoothKit

Easily communicate between iOS/OSX devices using BLE

Stars2,304
Forks272
Last commit2 years ago
BluejayBluejay

A simple Swift framework for building reliable Bluetooth LE apps.

Stars1,123
Forks101
Last commit2 years ago
BlueCapBlueCap

iOS Bluetooth LE framework

Stars718
Forks110
Last commit3 years ago
SwiftyBluetoothSwiftyBluetooth

Closures based APIs for CoreBluetooth

Stars215
Forks64
Last commit3 years ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub