---
title: HMAccessoryBrowser
framework: homekit
role: symbol
role_heading: Class
path: homekit/hmaccessorybrowser
---

# HMAccessoryBrowser

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

## Declaration

```swift
class HMAccessoryBrowser
```

## Overview

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 addAndSetupAccessories(completionHandler:) or the addAndSetupAccessories(with:completionHandler:) method of the HMHome class instead of an accessory browser. These calls manage all the details of the accessory search process for you.

## Topics

### Discovering accessories

- [discoveredAccessories](homekit/hmaccessorybrowser/discoveredaccessories.md)
- [startSearchingForNewAccessories()](homekit/hmaccessorybrowser/startsearchingfornewaccessories().md)
- [stopSearchingForNewAccessories()](homekit/hmaccessorybrowser/stopsearchingfornewaccessories().md)

### Tracking the addition or removal of accessories

- [delegate](homekit/hmaccessorybrowser/delegate.md)
- [HMAccessoryBrowserDelegate](homekit/hmaccessorybrowserdelegate.md)

### Initializers

- [init()](homekit/hmaccessorybrowser/init().md)

## Relationships

### Inherits From

- [NSObject](objectivec/nsobject-swift.class.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)
