<!--
{
  "availability" : [
    "iOS: 7.0.0 - 27.0.0",
    "iPadOS: 7.0.0 - 27.0.0",
    "macCatalyst: 13.1.0 - 27.0.0",
    "macOS: 10.10.0 - 27.0.0",
    "tvOS: 10.0.0 - 27.0.0",
    "visionOS: 1.0.0 - 27.0.0"
  ],
  "documentType" : "symbol",
  "framework" : "MultipeerConnectivity",
  "identifier" : "/documentation/MultipeerConnectivity/MCBrowserViewController",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "Multipeer Connectivity"
    ],
    "preciseIdentifier" : "c:objc(cs)MCBrowserViewController"
  },
  "title" : "MCBrowserViewController"
}
-->

# MCBrowserViewController

The `MCBrowserViewController` class presents nearby devices to the user and enables the user to invite nearby devices to a session. To use this class in iOS or tvOS, call methods from the underlying `UIViewController` class (<doc://com.apple.documentation/documentation/UIKit/UIViewController/prepare(for:sender:)> and <doc://com.apple.documentation/documentation/UIKit/UIViewController/performSegue(withIdentifier:sender:)> for storyboards or <doc://com.apple.documentation/documentation/UIKit/UIViewController/present(_:animated:completion:)> and <doc://com.apple.documentation/documentation/UIKit/UIViewController/dismiss(animated:completion:)> for nib-based views) to present and dismiss the view controller. In macOS, use the comparable `NSViewController` methods <doc://com.apple.documentation/documentation/AppKit/NSViewController/presentAsSheet(_:)> and <doc://com.apple.documentation/documentation/AppKit/NSViewController/dismiss(_:)-91my5> instead.

```
class MCBrowserViewController
```

## Topics

### Initializing a Browser View Controller

[`-  initWithServiceType:session:`](/documentation/MultipeerConnectivity/MCBrowserViewController/init(serviceType:session:))

Initializes a browser view controller using the provided service type and session.

[`-  initWithBrowser:session:`](/documentation/MultipeerConnectivity/MCBrowserViewController/init(browser:session:))

Initializes a browser view controller with the provided browser and session.

[`delegate`](/documentation/MultipeerConnectivity/MCBrowserViewController/delegate)

The delegate object that handles browser-view-controller-related events.

[`browser`](/documentation/MultipeerConnectivity/MCBrowserViewController/browser)

The browser object that is used for discovering peers.

[`session`](/documentation/MultipeerConnectivity/MCBrowserViewController/session)

The multipeer session to which the invited peers are connected.

### Getting and Setting the Maximum and Minimum Number of Peers

[`maximumNumberOfPeers`](/documentation/MultipeerConnectivity/MCBrowserViewController/maximumNumberOfPeers)

The maximum number of peers allowed in a session, including the local peer.

[`minimumNumberOfPeers`](/documentation/MultipeerConnectivity/MCBrowserViewController/minimumNumberOfPeers)

The minimum number of peers that need to be in a session, including the local peer.

## Relationships

### Conforms To

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

[`UIFocusEnvironment`](/documentation/UIKit/UIFocusEnvironment)

[`UIResponderStandardEditActions`](/documentation/UIKit/UIResponderStandardEditActions)

[`NSTouchBarProvider`](/documentation/AppKit/NSTouchBarProvider)

[`UITraitEnvironment`](/documentation/UIKit/UITraitEnvironment)

[`NSCoding`](/documentation/Foundation/NSCoding)

[`NSSeguePerforming`](/documentation/AppKit/NSSeguePerforming)

[`UITraitChangeObservable-67e94`](/documentation/UIKit/UITraitChangeObservable-67e94)

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

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

[`UIAppearanceContainer`](/documentation/UIKit/UIAppearanceContainer)

[`NSStandardKeyBindingResponding`](/documentation/AppKit/NSStandardKeyBindingResponding)

[`UIActivityItemsConfigurationProviding`](/documentation/UIKit/UIActivityItemsConfigurationProviding)

[`NSUserActivityRestoring`](/documentation/AppKit/NSUserActivityRestoring)

[`NSEditor`](/documentation/AppKit/NSEditor)

[`UIUserActivityRestoring`](/documentation/UIKit/UIUserActivityRestoring)

[`UIPasteConfigurationSupporting`](/documentation/UIKit/UIPasteConfigurationSupporting)

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

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

[`NSExtensionRequestHandling`](/documentation/Foundation/NSExtensionRequestHandling)

[`UIStateRestoring`](/documentation/UIKit/UIStateRestoring)

[`NSUserInterfaceItemIdentification`](/documentation/AppKit/NSUserInterfaceItemIdentification)

[`MCNearbyServiceBrowserDelegate`](/documentation/MultipeerConnectivity/MCNearbyServiceBrowserDelegate)

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

[`UIContentContainer`](/documentation/UIKit/UIContentContainer)

### Inherits From

[`NSViewController`](/documentation/AppKit/NSViewController)

[`UIViewController`](/documentation/UIKit/UIViewController)

---

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)