Agent skill · software engineering · dpearson2699

accessorysetupkit

Discover and configure Bluetooth and Wi-Fi accessories using AccessorySetupKit. Use when presenting a privacy-preserving accessory picker, defining discovery descriptors for BLE or Wi-Fi devices, handling accessory session events, migrating from CoreBluetooth permission-based scanning, or setting up accessories without requiring broad Bluetooth permissions.

Why this skill is useful

Provides specific implementation details and descriptors for configuring Bluetooth and Wi-Fi accessories that the AI wouldn't reliably generate on its own.

What it needs

About 6k tokens when loaded. Last updated 2026-07-31. 973 stars on the source repository.

What this skill does

AccessorySetupKit Use the iOS 18+ system picker for privacy-preserving Bluetooth/Wi-Fi accessory discovery and authorization, then hand off communication to CoreBluetooth or NetworkExtension. Contents Setup and Entitlements Discovery Descriptors Presenting the Picker Event Handling Bluetooth Accessories Wi-Fi Accessories Migration from CoreBluetooth Common Mistakes Review Checklist References Setup and Entitlements Info.plist Configuration Add these keys to the app's Info.plist: Key Type Purpose --- --- --- NSAccessorySetupSupports [String] Required. Array containing Bluetooth and/or WiFi NSAccessorySetupBluetoothServices [String] Service UUIDs the app discovers (Bluetooth) NSAccessorySetupBluetoothNames [String] Bluetooth names or substrings to match NSAccessorySetupBluetoothCompanyIdentifiers [String] Two-byte Bluetooth company identifiers The Bluetooth-specific keys must match the values used in ASDiscoveryDescriptor. If the app uses identifiers, names, or services not declared in Info.plist, the app crashes during AccessorySetupKit discovery. For Wi-Fi accessories, include WiFi in NSAccessorySetupSupports and match the descriptor's SSID rule. No Bluetooth Permission Required When an app declares NSAccessorySetupSupports with Bluetooth, creating a CBCentralManager no longer triggers the system Bluetooth permission dialog. The central manager's state transitions to poweredOn only when the app has at least one paired accessory via AccessorySetupKit. Discovery Descriptors ASDiscoveryDescriptor defines the matching criteria for finding accessories. The system matches scanned results against all rules in the descriptor to filter for the target accessory. Bluetooth Descriptor A Bluetooth descriptor needs at least one of bluetoothCompanyIdentifier or bluetoothServiceUUID. …

How to use it

Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:

@skills dpearson2699/accessorysetupkit

View the source on GitHub

Browse the @skills marketplace