Connect an iPhone app to a BLE fitness tracker or sensor and read its data streams.
Build an iOS app that acts as a Bluetooth peripheral, advertising custom data to nearby devices.
Scan for and connect to nearby BLE devices and subscribe to characteristic change notifications.
Bluetooth features require a physical iOS device, the iOS Simulator does not support BLE.
BabyBluetooth is an Objective-C library for iOS and macOS that makes it easier to work with Bluetooth Low Energy (BLE) devices in apps. It wraps Apple's built-in CoreBluetooth framework, which handles all Bluetooth communication at a lower level, and provides a simpler interface on top of it. The README is written primarily in Chinese, as the library is aimed at Chinese-speaking iOS developers. The main motivation for the library is that CoreBluetooth uses a delegate pattern, where your code receives callbacks through scattered methods that can be hard to follow. BabyBluetooth replaces this with a block-based approach, meaning you can organize related code together in one place and chain operations in a cleaner sequence. The library supports two roles a device can play over Bluetooth. In central mode, the app scans for and connects to nearby BLE peripherals such as fitness trackers or sensors. In peripheral mode, the app itself pretends to be a Bluetooth device that other devices can connect to. Both modes are supported on iOS and macOS, and the README notes that Bluetooth features require a physical device to test since the iOS simulator does not support Bluetooth. Installation can be done by dropping the source files directly into a project or via CocoaPods, a popular dependency manager for Apple platforms. The library is compatible with iOS 6 and later and iPhone 4S and later. Several demo projects are included that cover common use cases, including scanning, connecting, reading characteristics, and subscribing to notifications. The project also includes links to a series of blog posts (in Chinese) that explain Bluetooth fundamentals before diving into library usage, since BLE concepts like services and characteristics can be confusing without background knowledge.
← coolnameismy on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.