accessory-setup-kit

AccessorySetupKit for privacy-preserving discovery and setup of Bluetooth, Wi-Fi, or Wi-Fi Aware accessories. Use for discovery sessions, picker-based authorization, migration, accessory renaming or removal, custom filtering, and required Info.plist declarations.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "accessory-setup-kit" with this command: npx skills add nonameplum/agent-skills/nonameplum-agent-skills-accessory-setup-kit

AccessorySetupKit

What to open

  • Use accessory-setup-kit/accessorysetupkit.md for all API details and key names.
  • Use accessory-setup-kit/AccessorySetupKitEverythingBLEDevelopersNeedToKnow.md for BLE-specific behavior notes and real-world details.
  • Search within it for: "Discovering and configuring accessories", ASAccessorySession, ASDiscoveryDescriptor, ASPickerDisplayItem, ASMigrationDisplayItem, ASPickerDisplaySettings, and ASAccessoryEventType.

Workflow

  • Identify whether the accessory uses Bluetooth, Wi-Fi, or Wi-Fi Aware and set up matching discovery properties.
  • Declare required Info.plist keys for AccessorySetupKit and any Bluetooth identifiers.
  • Create and activate ASAccessorySession, then handle events on the provided queue.
  • Present a picker with ASPickerDisplayItem items that match the accessories you support.
  • Handle .accessoryAdded to connect to the selected device; handle .accessoryRemoved and .accessoryChanged as needed.

Picker guidance

  • A display item must include a descriptor with a Bluetooth identifier or Wi-Fi SSID/SSID prefix.
  • For Bluetooth filters, provide at least a service UUID or company identifier, and optionally a name substring or manufacturer/service data mask pair.
  • To do custom filtering, enable filterDiscoveryResults and handle .accessoryDiscovered by creating ASDiscoveredDisplayItem entries, then call updatePicker(showing:completionHandler:).
  • If custom filtering needs unlimited time, set discoveryTimeout = .unbounded and finish discovery with finishPickerDiscovery(completionHandler:).

Migration and post-setup

  • Use ASMigrationDisplayItem to migrate previously-configured accessories into AccessorySetupKit.
  • Use setup and rename options on picker items when the user should rename or finish setup in-app.

Reminders

  • Keep discovery descriptors specific to avoid broad Bluetooth access.
  • For Wi-Fi Aware, set Wi-Fi Aware properties on ASDiscoveryDescriptor before discovery.
  • Use the session event stream to keep app state in sync with user actions.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Automation

corebluetooth

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

swift-health-kit

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

swift-package-manager

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

swift-composable-architecture

No summary provided by upstream source.

Repository SourceNeeds Review