corebluetooth

Implement Core Bluetooth workflows for BLE on Apple platforms.

16|2|Updated Jan 1, 2026
One-click install
npx skills add https://github.com/nonameplum/agent-skills --skill corebluetooth
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: corebluetooth
Source: https://github.com/nonameplum/agent-skills/tree/main/corebluetooth
Command: npx skills add https://github.com/nonameplum/agent-skills --skill corebluetooth

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This skill helps developers implement Apple Core Bluetooth workflows for BLE and Bluetooth Classic across the Apple platform stack, reducing setup time and avoiding common missteps.

Core Features & Use Cases

  • Central and Peripheral role guidance: discover, connect, and interact with peripherals via GATT services and characteristics.
  • Background and state restoration: handle long-running BLE tasks and app relaunch scenarios.
  • Practical use cases: building proximity-based peripherals, heart-rate type monitors, and data streaming via notifications.

Quick Start

Use CBCentralManager and CBCentralManagerDelegate to scan for peripherals, connect, and discover services; switch to CBPeripheralDelegate to read/write/subscribe to characteristics; optionally implement CBPeripheralManager for peripheral roles and advertising.

Frequently Asked Questions about corebluetooth

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I scan and connect to BLE peripherals using Core Bluetooth on iOS?

To scan and connect to BLE peripherals using Core Bluetooth, initialize CBCentralManager and implement CBCentralManagerDelegate to discover peripherals, then use CBPeripheralDelegate to interact with discovered GATT services and characteristics on iOS and macOS.

Can I implement both central and peripheral roles in a single Apple BLE app?

Yes, you can implement both central and peripheral roles in a single Apple BLE app by using CBCentralManager for discovering and connecting to peripherals, and CBPeripheralManager for advertising data and handling peripheral-side interactions.

What's the best way to handle background BLE tasks and app relaunch scenarios on macOS?

The best way to handle background BLE tasks and app relaunch scenarios on macOS is by implementing Core Bluetooth state restoration, which preserves long-running BLE tasks and allows apps to resume workflows after being terminated.

Why does my Core Bluetooth app fail to discover services or subscribe to characteristic notifications?

Core Bluetooth apps commonly fail to discover services or subscribe to characteristic notifications due to incorrect delegate implementation, missing GATT service configurations, or improper handling of peripheral connection states.

Do I need to read and write to GATT characteristics differently when building a heart-rate monitor app?

Building a heart-rate monitor app requires using Core Bluetooth to read and write GATT characteristics, while subscribing to characteristic notifications enables continuous data streaming from the peripheral device.