<!--
{
  "availability" : [
    "iOS: 8.0.0 -",
    "iPadOS: 8.0.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "HomeKit",
  "identifier" : "/documentation/HomeKit/HMAccessoryBrowser",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "HomeKit"
    ],
    "preciseIdentifier" : "c:objc(cs)HMAccessoryBrowser"
  },
  "title" : "HMAccessoryBrowser"
}
-->

# HMAccessoryBrowser

A network browser you can use to discover new accessories in a home.

```
class HMAccessoryBrowser
```

## Overview

Discovering new network accessories is an expensive operation in terms of time and power. Only start searching for new accessories when the user explicitly asks to do so, and stop searching as soon as the user has chosen the new accessories to add to their home.

> Important:
> To enable a consistent user experience across HomeKit enabled apps, use either the ``doc://com.apple.homekit/documentation/HomeKit/HMHome/addAndSetupAccessories(completionHandler:)`` or the ``doc://com.apple.homekit/documentation/HomeKit/HMHome/addAndSetupAccessories(with:completionHandler:)`` method of the ``doc://com.apple.homekit/documentation/HomeKit/HMHome`` class instead of an accessory browser. These calls manage all the details of the accessory search process for you.

## Topics

### Discovering accessories

[`discoveredAccessories`](/documentation/HomeKit/HMAccessoryBrowser/discoveredAccessories)

An array of accessories discovered during a search.

[`-  startSearchingForNewAccessories`](/documentation/HomeKit/HMAccessoryBrowser/startSearchingForNewAccessories())

Starts searching for accessories not yet associated with a home.

[`-  stopSearchingForNewAccessories`](/documentation/HomeKit/HMAccessoryBrowser/stopSearchingForNewAccessories())

Stops searching for new accessories.

### Tracking the addition or removal of accessories

[`delegate`](/documentation/HomeKit/HMAccessoryBrowser/delegate)

A delegate that receives updates on the discovered accessories.

[`HMAccessoryBrowserDelegate`](/documentation/HomeKit/HMAccessoryBrowserDelegate)

An interface used to notify an accessory browser delegate of new accessories.

## Relationships

### Conforms To

[`Sendable`](/documentation/Swift/Sendable)

[`CustomStringConvertible`](/documentation/Swift/CustomStringConvertible)

[`CVarArg`](/documentation/Swift/CVarArg)

[`NSObjectProtocol`](/documentation/ObjectiveC/NSObjectProtocol)

[`CustomDebugStringConvertible`](/documentation/Swift/CustomDebugStringConvertible)

[`Equatable`](/documentation/Swift/Equatable)

[`SendableMetatype`](/documentation/Swift/SendableMetatype)

[`Hashable`](/documentation/Swift/Hashable)

### Inherits From

[`NSObject-swift.class`](/documentation/ObjectiveC/NSObject-swift.class)

---

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)