<!--
{
  "availability" : [
    "iOS: 18.0 -",
    "iPadOS: 18.0 -",
    "macCatalyst: -"
  ],
  "documentType" : "symbol",
  "framework" : "AccessorySetupKit",
  "identifier" : "/documentation/AccessorySetupKit",
  "metadataVersion" : "0.1.0",
  "role" : "Framework",
  "symbol" : {
    "kind" : "Framework",
    "modules" : [
      "AccessorySetupKit"
    ],
    "preciseIdentifier" : "AccessorySetupKit"
  },
  "title" : "AccessorySetupKit"
}
-->

# AccessorySetupKit

Enable privacy-preserving discovery and configuration of accessories.

## Overview

Use AccessorySetupKit to discover and configure Bluetooth or Wi-Fi accessories with images and names provided by the app.
Allow seamless, privacy-preserving user consent and control for Bluetooth, Wi-Fi, and Local Network permissions.
AccessorySetupKit apps can access enhanced accessory controls including accessory pairing removal and renaming.

To use AccessorySetupKit with <doc://com.apple.documentation/documentation/WiFiAware>, specify Wi-Fi Aware properties in a [`ASDiscoveryDescriptor`](/documentation/AccessorySetupKit/ASDiscoveryDescriptor) prior to beginning accessory discovery.

> Important: AccessorySetupKit is available for iOS and iPadOS. In watchOS 26 and later, if someone sets up an accessory with your iOS app by using AccessorySetupKit, a companion watchOS app can also use CoreBluetooth to communicate with the new accessory and any other accessories.

## Topics

### Essentials

[Setting up and authorizing a Bluetooth accessory](/documentation/AccessorySetupKit/setting-up-and-authorizing-a-bluetooth-accessory)

Discover, select, and set up a specific Bluetooth accessory without requesting permission to use Bluetooth.

[Discovering and configuring accessories](/documentation/AccessorySetupKit/discovering-and-configuring-accessories)

Detect nearby accessories and facilitate their setup.

[`ASAccessorySession`](/documentation/AccessorySetupKit/ASAccessorySession)

A class to coordinate accessory discovery.

### Accessory discovery

[`ASAccessoryEvent`](/documentation/AccessorySetupKit/ASAccessoryEvent)

Properties of an event encountered during accessory discovery.

[`ASAccessoryEventType`](/documentation/AccessorySetupKit/ASAccessoryEventType)

An enumeration of the types of events encountered during accessory discovery

[`ASDiscoveryDescriptor`](/documentation/AccessorySetupKit/ASDiscoveryDescriptor)

Descriptive traits used to discover accessories.

### Accessory description

[`ASAccessory`](/documentation/AccessorySetupKit/ASAccessory)

An accessory discovered by the accessory session.

[`ASDiscoveredAccessory`](/documentation/AccessorySetupKit/ASDiscoveredAccessory)

A discovered accessory, for use in creating a customized picker display item.

[`ASAccessory.AccessoryState`](/documentation/AccessorySetupKit/ASAccessory/AccessoryState)

An enumeration of possible authorization states of an accessory.

### Displaying picker items

[`ASPickerDisplayItem`](/documentation/AccessorySetupKit/ASPickerDisplayItem)

An accessory as presented by the discovery picker.

[`ASDiscoveredDisplayItem`](/documentation/AccessorySetupKit/ASDiscoveredDisplayItem)

A picker display item created from customizing a discovered accessory.

[`ASMigrationDisplayItem`](/documentation/AccessorySetupKit/ASMigrationDisplayItem)

A previously-discovered accessory as presented by the discovery picker, for use when migrating it to AccessorySetupKit.

### Information property list keys

  <doc://com.apple.documentation/documentation/BundleResources/Information-Property-List/NSAccessorySetupSupports>

  <doc://com.apple.documentation/documentation/BundleResources/Information-Property-List/NSAccessorySetupBluetoothCompanyIdentifiers>

  <doc://com.apple.documentation/documentation/BundleResources/Information-Property-List/NSAccessorySetupBluetoothNames>

  <doc://com.apple.documentation/documentation/BundleResources/Information-Property-List/NSAccessorySetupBluetoothServices>

### Errors

[`ASError`](/documentation/AccessorySetupKit/ASError)

An error encountered during accessory discovery.

[`ASErrorDomain`](/documentation/AccessorySetupKit/ASErrorDomain)

NSError domain for AccessorySetupKit errors.

[`ASError.Code`](/documentation/AccessorySetupKit/ASError/Code)

Codes that describe errors encountered during accessory discovery.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)
