← ClaudeAtlas

accessorysetupkitlisted

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.
dpearson2699/swift-ios-skills · ★ 730 · AI & Automation · score 80
Install: claude install-skill dpearson2699/swift-ios-skills
# AccessorySetupKit Privacy-preserving accessory discovery and setup for Bluetooth and Wi-Fi devices. Replaces broad Bluetooth/Wi-Fi permission prompts with a system-provided picker that grants per-accessory access with a single tap. Available iOS 18+ / Swift 6.3. After setup, apps continue using CoreBluetooth and NetworkExtension for communication. AccessorySetupKit handles only the discovery and authorization step. ## Contents - [Setup and Entitlements](#setup-and-entitlements) - [Discovery Descriptors](#discovery-descriptors) - [Presenting the Picker](#presenting-the-picker) - [Event Handling](#event-handling) - [Bluetooth Accessories](#bluetooth-accessories) - [Wi-Fi Accessories](#wi-fi-accessories) - [Migration from CoreBluetooth](#migration-from-corebluetooth) - [Common Mistakes](#common-mistakes) - [Review Checklist](#review-checklist) - [References](#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` | `[Number]` | Bluetooth company identifiers | The Bluetooth-specific keys must match the values used in `ASDiscoveryDescriptor`. If the