A blocks-based Bluetooth LE framework for iOS/watchOS/tvOS/OSX to easily configure centrals, peripherals, and handle packet-based communication.
ExtendaBLE is a Swift framework for building Bluetooth Low Energy (BLE) applications on Apple platforms like iOS, watchOS, tvOS, and macOS. It simplifies BLE development by providing a blocks-based syntax to configure centrals and peripherals, handle read/write operations, and manage characteristic updates. It uniquely solves the MTU size limitation in BLE by implementing packet-based communication, allowing large data transfers between devices.
iOS/macOS/watchOS/tvOS developers building apps that communicate with BLE peripherals, such as IoT devices, wearables, sensors, or custom hardware. It's ideal for those who want to avoid the complexity of raw Core Bluetooth APIs.
Developers choose ExtendaBLE because it dramatically reduces BLE boilerplate with its declarative builder pattern, provides built-in packetization for large data transfers, and offers utilities for parsing byte streams—saving time and reducing errors compared to using Core Bluetooth directly.
Blocks Based Bluetooth LE Connectivity framework for iOS/watchOS/tvOS/OSX. Quickly configure centrals & peripherals, perform read/write operations, and respond characteristic updates.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses a blocks-based builder pattern to define BLE centrals and peripherals, reducing verbose Core Bluetooth boilerplate as demonstrated in the README's concise setup examples.
Automatically handles data packetization based on negotiated MTU sizes, enabling transfer of large payloads beyond standard BLE limits, a unique feature highlighted in the documentation.
Works consistently across iOS, tvOS, watchOS, and macOS with a unified API, ensuring developers can target multiple Apple devices without rewriting BLE logic.
Includes extensions to easily extract integer, float, and string values from byte streams, simplifying characteristic data handling without manual bit manipulation.
Limited to Apple ecosystems; the Android version is marked as a work in progress, making it unsuitable for cross-platform development without additional workarounds.
Hides low-level Core Bluetooth details, which can be restrictive for advanced use cases like custom BLE protocol implementations or performance optimizations not exposed by the framework.
At version 0.4, the API is relatively young and might undergo breaking changes, with a smaller community and less mature documentation compared to established alternatives.