← 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.
thiennc-tesoglobal/ios-skills · ★ 3 · AI & Automation · score 66
Install: claude install-skill thiennc-tesoglobal/ios-skills
# 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](#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` | `[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 SSI