accessorysetupkit

Configure Bluetooth and Wi-Fi accessory discovery with AccessorySetupKit pickers.

Updated Jun 5, 2026
One-click install
npx skills add https://github.com/harshav167/build-ios-apps --skill accessorysetupkit-harshav167
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: accessorysetupkit
Source: https://github.com/harshav167/build-ios-apps/tree/main/skills/accessorysetupkit
Command: npx skills add https://github.com/harshav167/build-ios-apps --skill accessorysetupkit-harshav167

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Discover and configure Bluetooth and Wi-Fi accessories using a privacy-preserving picker that reduces broad permission prompts.

Core Features & Use Cases

  • Privacy-preserving accessory discovery and setup using a system picker.
  • Define discovery descriptors for BLE and Wi-Fi, handle session events, and migrate from CoreBluetooth permissions.
  • After setup, continue using CoreBluetooth and NetworkExtension for communication.

Quick Start

Create an ASDiscoveryDescriptor for your target accessory and activate an ASAccessorySession before showing the picker.

Frequently Asked Questions about accessorysetupkit

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

FAQPage Schema
How do I set up Bluetooth and Wi-Fi accessories without broad permission prompts?

You can set up Bluetooth and Wi-Fi accessories without broad permission prompts by using a privacy-preserving system picker. This approach requires declaring Info.plist keys and presenting a per-accessory picker to request access only for specific devices.

What's the best way to migrate from CoreBluetooth permissions to a privacy-first accessory picker?

Migrating from CoreBluetooth permissions involves replacing broad Bluetooth prompts with a system picker. You create an ASDiscoveryDescriptor, activate an ASAccessorySession, present the picker, and then continue using CoreBluetooth for post-setup communication.

How do I create a discovery descriptor for BLE and Wi-Fi accessories?

Creating a discovery descriptor for BLE and Wi-Fi accessories involves defining an ASDiscoveryDescriptor for your target device. You then activate an ASAccessorySession and present the system picker to discover and select the specific accessory.

Can I use AccessorySetupKit with CoreBluetooth and NetworkExtension for ongoing device communication?

Yes, AccessorySetupKit works with CoreBluetooth and NetworkExtension. After the system picker completes the privacy-preserving discovery and setup process, you continue using CoreBluetooth and NetworkExtension to handle subsequent device communication.

Why does my app need a per-accessory picker for Bluetooth discovery?

A per-accessory picker is needed for Bluetooth discovery to satisfy privacy requirements. It replaces broad permission prompts by allowing users to grant access to specific devices through a system-managed UI, ensuring only chosen accessories are connected.

What Info.plist keys are required for privacy-preserving accessory setup?

Privacy-preserving accessory setup requires declaring specific Info.plist keys to support the system picker. These keys enable the app to present an ASAccessorySession and use ASDiscoveryDescriptor for targeted Bluetooth and Wi-Fi device discovery.